1

为什么会这样,它只在函数范围内有效,而我已经在全局范围内声明了它

testing = [];

function func1(){
  //some codes here that fills the "testing" array... 
}
//I want to display here the new array values.. 

JSFiddle上观看

  1. 点击按钮
  2. 检查元素的输出,
  3. 在控制台上

    我需要另一个函数上的“测试”数组。那我将如何使用它?

4

2 回答 2

1

调用此方法后,您的数组将被填充console.log("outside function scope :\n"+testing);

忽略 jsfiddle 中的所有问题,您没有看到您期望的行为的原因是因为导致数组被填充的事件是异步的,其中在范围之外显示它的代码会立即执行。

于 2013-01-31T23:03:41.773 回答
1

请注意消息在控制台中出现的顺序。页面加载时:

outside function scope :

点击按钮后:

inside function scope :
RSdKmX2BH7o,EWMLMc3ES3I,SIXwlxhjaKY,RIKTFn5ALE8,acp8TbBPVos,6GpKR4-TLoI,XLKLkTnKRwg,6WPELkw5kD0

加载页面后,任何函数范围之外的代码都会立即运行,但填充的代码testing仅在单击按钮后才会运行。

于 2013-01-31T23:04:09.307 回答