Javascript未定义问题

Javascript undefined issue

本文关键字:问题 未定义 Javascript      更新时间:2023-09-26
            if(typeof(GUEST_IDS) != undefined){
          GUEST_IDS = GUEST_IDS.substr(1);
          GUEST_IDS = GUEST_IDS.split(",");
          for(GP in GUEST_POINTS){
            GUEST_ON = 0;
            for(GID in GUEST_IDS){
              if(GUEST_IDS[GID] == GP){
                GUEST_ON = 1;
              }
            }
            if(GUEST_ON == 0){
              GUEST_POINTS[GP].setVisible(false);
            }
          }
        }else{
          for(GP in GUEST_POINTS){
            GUEST_POINTS[GP].setVisible(false);
          }
        }

当我警告GUEST_IDS它说未定义,所以如果GUEST_IDS =未定义为什么代码运行,如果if(typeof(GUEST_IDS) !=未定义){是真的?

typeof返回指定类型的字符串。此外,typeof不需要父级,使用!==而不是!=是一个很好的实践:

if(typeof GUEST_IDS !== "undefined") {

其他点:

  • 不要大写
  • 使用var
  • 使用普通的for循环来迭代数组;非for in循环
  • 不要覆盖现有变量;GUEST_IDS从字符串变为数组
  • 使用===而不是==
  • 你可以使用var ids = GUEST_IDS.substr(1).split(",");