如何删除/取消设置javascript对象的属性?[重复]

2020/11/16 17:51 · jquery ·  · 0评论

可能的重复项:
如何取消设置Javascript变量?
如何从javascript对象中删除属性

我正在寻找一种删除/取消设置JS对象属性的方法,这样,如果我遍历该对象,它们将不再出现for (var i in myObject)如何才能做到这一点?

只需使用delete,但请注意,您应该完整阅读使用此功能的作用:

 delete object.index; //true
 object.index; //undefined

但是如果我这样使用:

var x = 1; //1
delete x; //false
x; //1

但是,如果您确实希望删除全局名称空间中的变量,则可以使用它的全局对象(例如)window,或者this在最外层范围中使用,即

var a = 'b';
delete a; //false
delete window.a; //true
delete this.a; //true

http://perfectionkills.com/understanding-delete/

另一个事实是,在阵列上使用delete不会删除索引,但只有将该值设置为未定义,在一定的控制结构,如for循环的意思,你还是会逐一查看该实体,当谈到数组是你应该使用splice这数组对象的原型。

示例数组:

var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";

如果我要这样做:

delete myCars[1];

结果数组将是:

["Saab", undefined, "BMW"]

但是像这样使用拼接:

myCars.splice(1,1);

会导致:

["Saab", "BMW"]

要使其空白:

myObject["myVar"]=null;

删除它:

delete myObject["myVar"]

如您在重复的答案中看到的

本文地址:http://jquery.askforanswer.com/ruheshanchu-quxiaoshezhijavascriptduixiangdeshuxingzhongfu.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!