我已经了解到javascript中的对象是通过引用传递的,所以如果我删除它们,它们都将无法访问。
现在,
var self = self.parent.modules[moduleId].slideshow;
delete self.parent.modules[moduleId].slideshow; //remove the module object from the JSON
console.error('deleted self. it is now:');
console.error(self.parent.modules[moduleId].slideshow);
控制台按预期打印undefined。但是,如果我这样做:
console.error('deleted self. it is now:');
console.error(self);
它还有向我展示的对象,好像它实际上是克隆过的一样?
答案 0 :(得分:1)
您删除了属性而不是属性引用的值。
其他参考值不受影响。