2011-12-24 10 views
0
  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(typeof演算(GUEST_IDS)!=未定義)未定義のJavascriptの問題

答えて

2

typeofは、型を指定する文字列を返します。また、typeofは括弧を必要としない、それは!==!=以上使うようにするとよいでしょう:

  • 使用var
  • は正常に使用し、すべてを大文字にしないでください

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

      その他の見所をforループを反復処理するループ。ないfor inループ

    • 既存の変数を上書きしないでください。 GUEST_IDSアレイに文字列から変化している
    • 使用===ではなく==
    • あなたのようなvar ids = GUEST_IDS.substr(1).split(",");
  • +0

    おかげpimvdbを連鎖使用することができます!私はそれが文字列、スペースを返すのを忘れていたとは信じられません。 lol –

    +0

    待ち、コードの上部にGUEST_IDS = nullがあります。それで、なぜ型のGUEST_IDSを実行するとき、それは警告されたときにObjectと言いますか? –

    +0

    @シェーンラーソン:はい、 'typeof null ==="オブジェクト "。それは確かに定義されていません。代わりに、単に 'if(GUEST_IDS){'が必要な場合があります。この条件は 'undefined'、' null'、および他のいくつかの "偽の"値を除いたものを許可します。 – pimvdb