这一定很简单,但我已经在这里太久了,我无法在任何地方找到相关的答案。
真的很简单。
当我的代码是这样的时候:
/* functionsAndStuff.js */
var x = [ [1,2], [3,4] ];
function doStuff(){
var value = x[0][0];
return value; //BROKEN
}
没有任何反应。另一方面,此处的代码运行良好:
/* functionsAndStuff.js */
function doStuff(){
var x = [ [1,2], [3,4] ];
var value = x[0][0];
return value; //returns 1
}
doStuff() 函数将值返回到另一个页面 index.html。 index.html 使用函数来做它自己的事情。
对其进行更改并执行此操作使其有效:
/* index.html */
var x = [ [1,2], [3,4] ];
/* functionsAndStuff.js */
function doStuff(){
var value = x[0][0];
return value; //returns 1
}
我想如果我只是在 index.html 中定义矩阵,我的问题就会消失......但这是一个草率的解决方案。
我有另一个开始为空的数组。然后通过拆分字符串填充此数组。这个数组是完全可以访问的。但是我仍然完全无法访问正在手动填充(即硬编码)的 x 数组。
最佳答案
您列出的第一个函数运行良好,至少在 FF16 中是这样。
var x = [ [1,2], [3,4] ];
function doStuff(){
var value = x[0][0];
return value; //BROKEN
}
alert(doStuff()); //returns 1
关于JavaScript 数组和作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13657694/