删除不同上下文中对象的引用

时间:2011-09-04 02:21:12

标签: javascript

我在JavaScript中实现二叉树,需要能够将变量传递给函数,并在函数内部将变量的初始上下文中的值设置为undefined。

示例:

var foo = {}

function bar(a) { a = undefined }

bar(foo)

在此上下文中,仍然定义了foo

我意识到这不会像这样工作,但我怎样才能在JS中做类似的事情? 此外,foo并不总是全球性的。

1 个答案:

答案 0 :(得分:1)

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

在浏览器中,您使用window

var foo = {};

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

bar('foo');

alert( foo ); // undefined

如果foo不是全球性的,我认为如果不使用.eval(),您就无法做到这一点。