2011-11-22 133 views
1

這裏是我的代碼爲什麼變量未定義?

<script type="text/javascript"> 

    var options = { 
     chart: { 
      renderTo: 'container' 
     }, 
     title: { 
      text: 'Money Conversion' 
     }, 
     yAxis: { 
      title: { 
       text: 'Exchange Rate' 
      } 
     }, 
     xAxis: { 
      type: 'datetime', 
      dateTimeLabelFormat: { 
      } 
     }, 
     series: [{ 
      type: 'line', 
      data: [] 
     }] 
    }; 

    $(document).ready(function() { 

     if (typeof options != 'undefined') { 
      alert("options is undefined!"); 
     } 
     else { 
      alert("options is defined!"); 
     } 

我得到的警報「選項是不確定的」。我究竟做錯了什麼?

+0

謝謝大家!我不敢相信我錯過了... – dmr

+2

+1(抵消)我不明白爲什麼這是downvoted。它說明了我自己多次做出的一個普遍的疏忽。 –

+0

@Bob Kaufman:這真是一個你可以輕鬆分析自己​​的問題的例子。即通過檢查爲什麼'if'子句傳遞 - 原因不能是其他任何東西 - 答案就在那裏...「沒有定義」 – pimvdb

回答

14
if (typeof options != 'undefined') { 
     alert("options is undefined!"); 
    } 

你提醒「選項未定義」當選項是定義

+2

'+ 1'哈哈。這是一個很棒的選擇^ _ ^ – Neal

5

你正在測試它的不平等。使用==而不是:)

5
if (typeof options != 'undefined') { 

意味着選項是因爲!=運營商的定義

if (typeof options == 'undefined') { 
4
$(document).ready(function() { 

     if (typeof options === 'undefined') { 
      alert("options is undefined!"); 
     } 
     else { 
      alert("options is defined!"); 
     } 
4

?也許改爲==?或者我錯過了什麼?

5

你有沒有讓你的操作員錯誤的方式?它不應該如下所示?

if (typeof options == 'undefined') { 
     alert("options is undefined!"); 
    } 
    else { 
     alert("options is defined!"); 
    } 
1

您的運算符對if語句不正確。應該是:

if (typeof options == 'undefined') 
{   
    alert("options is undefined!");  
}  
else 
{   
    alert("options is defined!");  
}