未定义的值导致我的整个功能无法正常工作

时间:2013-09-04 09:06:39

标签: javascript jquery html asp.net

我在母版页中定义了一个全局javascript函数

母版

<script>
if(typeof data !='undefined'){
function doSmth{
if(data[A])
//Do something
}
}
</script>

主页

<script>
var data = {
Fruit : "apple"
}
</script>

详细

var data is not defined in this page

在我添加typeof数据之前!='undefined',一切正常,我可以在主页上调用apple但是我收到了来自详细的javascript错误,因为数据未定义,以防止继续接收javascript错误,我添加了数据类型! ='undefined',但不知何故整个功能不起作用,为什么会发生这种情况?

3 个答案:

答案 0 :(得分:1)

在您的母版页中试试这个

<script>
function doSmth{
if(typeof data !='undefined' && data[A])
//Do something
}
</script>

答案 1 :(得分:0)

MasterPage脚本更改为

<script>
    function doSmth(){
        if(typeof data !== 'undefined'){
            if(data[A]){
            //Do something
            }
        }
    }
</script>

理想情况下,您应该将参数传递给函数而不是使用全局变量。 所以我建议你使用

<script>
    function doSmth(data){
        if(typeof data !='undefined'){
            if(data[A]){
            //Do something
            }
        }
    }
</script>

并调用函数

<script>
    var data = {
       Fruit : "apple"
    }
         doSmth(data);
</script>

答案 2 :(得分:0)

试试这个:

<script>

function doSmth{
   if(data !=undefined){
      //Do something
   }
}
</script>