【发布时间】:2012-01-10 05:40:30
【问题描述】:
我有以下源代码。
testObj = {}
function testFun()
{
this.name = "hi";
}
function test () {
var instanceOfTestFun = new testFun();
testObj.pointerToFun = instanceOfTestFun;
instanceOfTestFun = null;
console.log(testObj);
}
$(document).ready(test);
我希望看到 testObj 的控制台输出为“null”,但我看到了 testFun 函数。我认为 javascript 对对象使用“传递引用”。
请...建议我...
【问题讨论】:
-
这不是引用传递的意思。
-
instanceOfTestFun = null;- 这将删除对对象的引用,而不是对象本身。该对象仍被另一个引用 -testObj.pointerToFun引用 - 因此,不会被垃圾回收。 -
“我希望看到 'null' ...,但我看到了 testFun 函数” 你知道吗?你不应该看到任何函数。
标签: javascript variables object