我想知道本地范围内是否存在一个变量,并且给定名称为字符串。有没有办法做这样的事情?:
var name = 'myVariable';
function test(myVariable) {
//CHECK HERE if there is a locally scoped variable with the same name
//as the value of 'name'
}
答案 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'的变量)......
(或者我可能完全错过了你的观点......)