Javascript - 将var视为实际变量而不是字符串

时间:2016-02-25 19:24:46

标签: javascript

说我有self.option1ToCheckself.option500ToCheck

不要使用500 if语句来检查这些变量是否未定义'我做了一个for循环。但是我遇到的问题是它将变量title视为字符串而不是实际变量。

我的代码如下 - 我目前获得的结果是所有self.title的未定义值。

这甚至可以做到,还是我正在切断

for (var p=1; p<500; p++) {
      var title = 'option' + p + 'ToCheck';
      if (self.title != undefined){
            myArray.push(self.title);
      }
}

1 个答案:

答案 0 :(得分:0)

为此目的使用bracket notation

for (var p=1; p<500; p++) {
   var cache = self['option' + p + 'ToCheck'];
   if (cache !== undefined)
     myArray.push(cache);
}

不要通过查看for循环中的变量定义来抬起眉毛。它将被提升到其直接的词汇范围。