2011-09-04 67 views
1

我正在JavaScript中实现一个二叉树,并且需要能够将一个变量传递给一个函数,并将其初始上下文中的变量的值设置为从函数内部未定义。在不同的上下文中删除对象的引用

实施例:

var foo = {} 

function bar(a) { a = undefined } 

bar(foo) 

在这方面,foo仍然被定义。

我意识到这不会像这样工作,但我怎么能做一些类似的JS? 此外,foo并不总是全球性的。

回答

1

如果foo是全局的,则可以将该名称作为字符串传递,并将其作为全局对象的属性进行访问。

在浏览器中,你会使用window

var foo = {}; 

function bar(a) { window[ a ] = undefined; } 

bar('foo'); 

alert(foo); // undefined 

如果foo不是全球性的,我不认为你可以做到这一点,而无需使用.eval()

相关问题