2012-02-10 68 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 
} 
的[
相关问题