javascript 删除对象的属性 delete


1.当属性存在 configurable:truedelete命令会返回true

var obj={a:1};
delete obj.a //true
console.log(obj);//{}

2.当属性存在 不能删除情况delete命令会返回false


var obj=Object.defineProperty({}, 'p', {
  value: 123,
  configurable: false //不能删除当前p属性
});

obj.p // 123
delete obj.p // false
简单介绍一下:Object.defineProperty(obj,prop,desc)
obj:当前对象
prop:新属性或者需要修改的属性
desc:属性描述符


3.当属性不存在delete命令会返回true 所以不能根据delete命令的返回结果确定该属性是否存在
var obj={};
delete obj.p//true

4.不能删除对象的继承属性

var obj={};
delete obj.toString();//true
obj.toString //function toString() { [native code] }


优质内容筛选与推荐>>
1、深入理解决策树的最优分类法则
2、JavaSE---Collections
3、RB-Tree插入过程详解
4、DN创建
5、GitHub笔记(四)——标签管理


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn