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