深入浅出-易犯的错误

    xiaoxiao2025-03-06  33

    delete obj.x var obj = {x:1} Object.defineProperty(obj,‘x’,{ configurable:false//设置不可删除属性 }); delete obj.x; //false obj.x; //1

    在js中类中(Object)中的属性有4个描述起行为的特性: Configurable:表示能否通过delete删除属性从而重新定义属性; Enumerable:表示能否通过for-in循环返回属性 writable:表示能否修改属性的值 Value:包含这个属性的数据值(个人认为其作用就是赋值) 以上四个属性在不显示调用Object.defineProperty()的时候,前三个默认值都为true,而value为你自己设定的值,如果不设定的话则为undefined。

    判断对象是不是有key要用in

    用obj.hasOwnProperty()判断是不是对象上的 用obj.proto.hasOwnProperty()判断是不是原型链上的

    void(0)//undefined void(“0”)//undefined

    最新回复(0)