2012-02-10 69 views
0

這裏在頁面加載我試圖將值從表單存儲到變量。後來我想使用這些變量(當且僅當我有數據)到其他目的。如何在Java腳本中分配之前檢查變量是否已定義?

這是我的接近(在頁面加載)

render : function() { 
frm = document.Form; 

if (frm.Name1.value){ 
       value1 = frm.Name1.value; 
     } 
if (frm.Name2.value){ 
      value2 = frm.Name2.value; 
     } 
if (frm.Name3.value){ 
      value3 = frm.Name3.value; 
     } 

} 

基於一定條件/選擇我將調用此函數分配最初加載的值

function add_values () { 
     if (value1.length){ 
      frm.Name1.value = value1; 
     } 
     if (value2.length){ 
      frm.Name2.value = value2; 
     } 
     if (value3.length){ 
      frm.Name3.value = value3; 
     } 
} 

錯誤:(在螢火蟲)

value3 is not defined 
[Break On This Error] if (value3.length){ 

我試過了什麼?

if (undefined != value3) 
+0

可能重複我如何檢查是否變量在JavaScript中定義?](http://stackoverflow.com/questions/519145/how-can-i-check-whether-a-variable-is-defined-in-javascript) – 2012-02-10 23:02:40

回答

2

嘗試

if(typeof value3 != "undefined") 

更多typeof

+0

什麼是typeof在這裏? – 2012-02-10 23:07:44

+0

typeof正是它聽起來像。它以字符串格式返回變量的類型。看到這裏:https://developer.mozilla.org/en/JavaScript/Reference/Operators/typeof所以在這種情況下,如果typeof返回「undefined」,那麼你知道它以前沒有設置。 – 2012-02-10 23:16:42

1

您可以使用:

typeof value3 != 'undefined' 
0

要檢查,如果事情是不明確的:

if (typeof value3 === 'undefined') { 
    // It's undefined! 
} 
0

只是檢查變量的類型是否爲undefined

if (typeof value3 !== 'undefined') { 
    // value3 is defined 
} 

如果你願意,你可以爲一個PHP類功能:

function isset(variable) { 
    return typeof variable !== 'undefined'; 
} 

if (isset(value3)) { 
    // value3 is defined 
} 
的[
相關問題