0

我试图使用 typeof 来确定变量是否未定义:

function reset_textarea(reset) {

if (typeof(reset) != 'undefined') {
   ...do stuff
  }

}

我这样称呼它:

reset_textarea('hello');

它不工作,我似乎无法弄清楚为什么。如果我删除 if 语句,该函数会正常触发,因此 - 问题似乎在于我测试变量是否设置的方式。知道发生了什么吗?

4

2 回答 2

1

好吧,typeof("hello")字符串的类型)已定义。这是一个Stringtypeof(hello)(注意缺少引号)是你需要的。这对你有用吗?

if(typeof(window[reset]) !== 'undefined') {
  //...
}

hello您必须了解变量 ( ) 和字符串 ( )之间的区别"hello"。请记住,window["hello"]它等同于window.hello,但更灵活。

于 2012-08-19T21:44:22.493 回答
1

您可以测试是否存在具有指定名称的属性window

function reset_textarea(reset) {

    if (typeof(window[reset]) !== 'undefined') {
       // ...do stuff
    }

}
于 2012-08-19T21:44:33.043 回答