Object.defineProperty()方法
传入三个参数
1.obj:需要定义属性的对象。
2.prop:需要定义的属性。
3.descriptor:属性的描述描述符
返回值:返回此对象。
var obj={};
var descroptor={
configurable:false//表示该属性能否通过delete删除,能否修改属性的特性或者能否修改访问器属性,默认为false.当且仅当该属性为true时,才能实现上述行为。
writeable:false//表示该属性的值是否可写,默认为false.当且仅当该属性为true时,才能实现上述行为。)
}
enumerable:false,表示该属性是否可以枚举,即是否通过for...in访问属性 默认是false.
value:hello world.表示该属性的值,默认是undefinde
NaN,0,undefined,null // false,用boolean转换
== 会有隐式转换,转成number的形式
=== 不会进行隐式转换
IEEE754 标准
二进制转十进制的时候精度丢失
0.1 + 0.2 // 0.30000000000000004
方案1:toFixed()
方案2: n = Math.pow(10, x); (0.1 *n + 0.2 * n) /n 即可
sort
function sort(a, b) { return a - b; } // 升序排序,
a - b < 0 a移到b的前面
a - b = 0 位置不变
a - b > 0 a移到b的后面
new Date().getTime() // 毫秒数
new Date().getDay() // 本周的第几天, 1-7
new Date().getDate() // 本月几号
new Date().getMonth() // 第几月,0-11
Object.defineProperty()方法
应用场景、
Object.defineProperty(obj,prop,descriptor)
obj:需要定义属性的对象
prop:需要定义的属性
descriptor:属性的描述描述符
返回值:返回此对象
Object.defineProperty,vue的响应式原理用到了它的get\set方法