检查变量是否存在于本地范围内的名称作为字符串?

时间:2013-12-06 21:14:06

标签: javascript

我想知道本地范围内是否存在一个变量,并且给定名称为字符串。有没有办法做这样的事情?:

var name = 'myVariable';

function test(myVariable) {

     //CHECK HERE if there is a locally scoped variable with the same name
     //as the value of 'name' 

}

2 个答案:

答案 0 :(得分:2)

我将依靠Bandrami的回答和我的评论,因为我相信这是完成你想要做的事情的唯一方法。是的,我知道我正在使用eval,但我不相信有任何选择。

if (typeof eval(name) !== 'undefined' && typeof window[name] === 'undefined'){ 
   // variable exists in this scope 
}

答案 1 :(得分:1)

if (typeof eval(name) === 'undefined')

虽然有一些角落案例(如实际上名为'undefined'的变量)......

(或者我可能完全错过了你的观点......)