如何在函数内部创建一个数组可以在整个页面中使用

时间:2014-02-04 16:35:34

标签: javascript arrays

我有一个在这样的函数内部生成的数组:

function easy() {
    var colors = ["white", "red", "orange", "yellow", "green", "blue", "purple", "gray", "white", "red", "orange", "yellow", "green", "blue", "purple", "gray"];
}

我通过点击单选按钮调用此功能,但是当我稍后这样做时:

colors.sort(function() {return 0.5 - Math.random()});

它不起作用,我想可能是因为颜色只是一个本地数组。有没有办法让它工作://stackoverflow.com/posts/21558099/editghout整个页面?

4 个答案:

答案 0 :(得分:2)

如果在函数之外声明数组,则其范围是全局的:

var colors;
function easy() {
    colors = ["white", "red", "orange", "yellow", "green", "blue", "purple", "gray", "white", "red", "orange", "yellow", "green", "blue", "purple", "gray"];
}
easy(); // Here colors is defined;

答案 1 :(得分:0)

var colors;
function easy() {
   colors = ["white", "red", "orange", "yellow", "green", "blue", "purple", "gray", "white", "red", "orange", "yellow", "green", "blue", "purple", "gray"];
};
easy();
colors.sort(function() {return 0.5 - Math.random()});

答案 2 :(得分:0)

您是否希望将其封装起来?

var easy = {
   colors: ["white", "red", "orange", "yellow", "green", "blue", "purple", "gray", "white", "red", "orange", "yellow", "green", "blue", "purple", "gray"],
   hello: function() { alert("Hello") }
}

alert( easy.colors.sort(function() {return 0.5 - Math.random()}) );
easy.hello();

答案 3 :(得分:-1)

可能你需要在几个程序中使用该变量。把它放在外部文件中,php通过include添加它。将其视为全局变量。