我无法通过调用其函数之一将其变为 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
),但不能全部更改?