2011-04-22 82 views
0
this.runThisFunctionOnCall = function(){ 



       //does something and ends up with these arrays of count 1 

       // arrays.length = 1 (always) 

    array1; 
    array2; 
    array3; 

    alert(array1.length); // shows 1 here 


    } 

在不同的脚本页面上,当我执行下面的操作时,将包含上面的页面,我没有数组中的值。javascript数组返回

this.callingFunction = function(){ 

     this.runThisFunctionOnCall(); 
     alert(array1.length); shows 0 

} 
+4

如何以及在哪里定义变量?这可能是您应该包含更多实际代码的情况。 – tvanfosson 2011-04-22 20:59:25

+1

你的问题是什么? – capdragon 2011-04-22 21:00:49

+1

'runThisFunctionOnCall'不返回任何内容。它是否会更改全局变量? – 2011-04-22 21:01:41

回答

3

变量阵列1是功能runThisFunctionCall内部的局部变量,所以你不能看到它的功能外,导致在你的下代码阵列1是另一个阵列1和不一样的功能,并具有长度为0,因为它中没有元素。

下面是一些解释:http://www.webdevelopersnotes.com/tutorials/javascript/global_local_variables_scope_javascript.php3

+0

根据代码,“变量array1是函数runThisFunctionCall中的局部变量”简直是错误的。 在“长度为0”之前,您将收到“未找到变量”异常。所以它也不正确。 – 2011-04-22 21:16:40