Moo*_*oon 4 javascript variables object
我有以下源代码.
testObj = {}
function testFun()
{
this.name = "hi";
}
function test () {
var instanceOfTestFun = new testFun();
testObj.pointerToFun = instanceOfTestFun;
instanceOfTestFun = null;
console.log(testObj);
}
$(document).ready(test);
Run Code Online (Sandbox Code Playgroud)
我希望testObj的控制台输出看到'null' ,但我看到了testFun函数.我认为javascript使用'pass by ref'来表示对象.
请建议我...
testObj.pointerToFun并且instanceOfTestFun是对同一对象的两个引用.
当你写作时instanceOfTestFun = null,你会改变instanceOfTestFun为指向任何东西.
这不影响testObj.pointerToFun,仍然是指原始对象.
如果更改原始对象(例如,instanceOfTestFun.name = "bye"),您将看到两个访问器的更改,因为它们都指向(现在更改的)对象.
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |