JavaScript 数组和作用域

标签 javascript arrays scope

这一定很简单,但我已经在这里太久了,我无法在任何地方找到相关的答案。

真的很简单。

当我的代码是这样的时候:

/* 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

示例:http://jsfiddle.net/UD8Zs/

关于JavaScript 数组和作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13657694/

相关文章:

javascript - Javascript 中的数组和对象复制

python - numpy 用数组填充数组

ruby-on-rails - Rails 包括范围

javascript - 使用 React,如何根据类型渲染组件?

javascript - 如何在 JavaScript 中将函数作为参数传递?

javascript - 在javascript中使用原型(prototype)

c - 返回一个数组,同时告诉他这个数组的长度?

javascript - 使用 AJAX/jQuery 查找 THIS div 或 THAT div

Python 3 - 类变量未定义

javascript - 如何在 'use strict' 模式下跨多个 Node 模块访问我的对象数组作为数据存储?