从自身内部更改/删除整个对象

时间:2018-10-05 20:56:08

标签: javascript object

我无法通过调用其函数之一将其变为 null (或任何其他值)。

var unsetObj = function(){
    var that = this;

    that.id = 99;

    that = null;
    //delete that;
    //delete this;
    //window["obj"]=null; //not even hardcoding the varname
    //window.obj=null;
    //this = null; //ReferenceError: invalid assignment left-hand side
};

var obj = {
    id : 1,
    delFunc : unsetObj
};

obj.delFunc();
console.log(obj); //still there and id is now 99

我知道可以将变量更改为null,因为这可行:

obj = null;
console.log(obj); //null

但是无论我如何尝试,都无法通过对象本身内部的调用来实现。

为什么我可以部分更改对象(例如obj.id),但不能全部更改?

0 个答案:

没有答案