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
深入浅出-易犯的错误
深入浅出-易犯的错误

相关文章:

  • 2021-12-01
  • 2022-12-23
  • 2022-02-13
  • 2022-01-05
  • 2021-12-05
  • 2021-10-31
  • 2021-05-16
  • 2022-02-05
猜你喜欢
  • 2022-12-23
  • 2022-02-14
  • 2022-01-16
  • 2021-11-04
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案