我试图使用typeof来确定变量是否未定义:
function reset_textarea(reset) {
if (typeof(reset) != 'undefined') {
...do stuff
}
}
我这样称呼它:
reset_textarea('hello');
它不起作用,我似乎无法弄清楚原因。如果我删除if语句,函数会正常触发,因此 - 问题似乎在于我测试变量是否设置的方式。知道发生了什么事吗?
答案 0 :(得分:1)
嗯,typeof("hello")
( string 的类型)已定义。这是一个String
。 typeof(hello)
(注意缺少引号)就是您所需要的。这对你有用吗?
if(typeof(window[reset]) !== 'undefined') {
//...
}
您必须了解变量(hello
)和字符串("hello"
)之间的区别。请注意,window["hello"]
相当于window.hello
,但更灵活。
答案 1 :(得分:1)
您可以在window
上测试是否存在具有指定名称的属性:
function reset_textarea(reset) {
if (typeof(window[reset]) !== 'undefined') {
// ...do stuff
}
}