通过字符串形式的名称检查变量是否存在于本地作用域内
Check if a variable exists within local scope by name as string?
我想知道本地作用域中是否存在一个以字符串形式命名的变量。有办法做这样的事情吗?:
var name = 'myVariable';
function test(myVariable) {
//CHECK HERE if there is a locally scoped variable with the same name
//as the value of 'name'
}
我将借鉴Bandrami的回答和我的评论,因为我相信这是完成您想要做的事情的唯一方法。是的,我知道我使用的是eval
,但我不认为有任何选择。
if (typeof eval(name) !== 'undefined' && typeof window[name] === 'undefined'){
// variable exists in this scope
}
if (typeof eval(name) === 'undefined')
尽管那里有一些角落的情况(比如一个实际上名为"undefined"的变量)。。。
(或者我可能完全没有理解你的观点…)
相关文章:
- 是否可以用变量确认提示警报
- 用真或假初始化变量是否在 Javascript 中建立了内容的方向
- 如何确定套接字中的变量是否匹配
- 如何在JavaScript中检查变量是否为null和/或未定义
- 检查变量是否为字符串的简单方法
- 是否可以在另一个变量中使用未声明的变量
- 它是否创建了许多不利于JavaScript性能的变量
- jade/pug是否可以在include语句中使用变量
- 如何测试变量是否只有字母而不是abc1.关于验证电子邮件
- 如何查看变量名称是否已在Javascript中定义
- 检查是否已设置GET变量
- 在函数参数中使用变量,无论是否使用Jquery
- Chrome扩展:是否有一种方法可以运行JavaScript来获取页面上的内部html,并将其保存到扩展中的变量中
- JavaScript:检查变量是否等于两个或多个值之一的简单方法
- 是否可以在reactjs中设置多个状态变量
- 为什么不允许值为0的变量询问是否存在
- Javascript 测试是否设置了变量
- 是否可以在 Javascript 中将未声明的变量作为参数传递
- 变量/对象是否按值传递,为什么我不能在 javascript 中使用变量更改对象的属性
- 测试JavaScript是否符合异常变量名