Js:函数和对象范围/外部范围

时间:2013-07-23 03:13:27

标签: javascript

我有一个像这样的对象

var Wheel = { //...function A, B etc.. here... }

如何从Wheel内部的函数A访问我的javascript文档的外部“root”中的数组值?

PS。随意编辑我的标题因为我不知道如何详细说明。感谢

3 个答案:

答案 0 :(得分:0)

在全局范围内定义数组

var myarray;
var Wheel = { 
    a: function(){
        myarray = [1]; //new array
    }
}

//then you can acces myarray anywhere

答案 1 :(得分:0)

只需将数组设为Wheel的属性,例如

var Wheel = {
    arrayValue: [],
    A: function(a) {
        Wheel.arrayValue.push(a);
    }
}

Wheel.A(1);

Wheel.arrayValue; // [1]

Wheel.A(2);

Wheel.arrayValue; // [1,2]

答案 2 :(得分:-1)

因此,从您的表示中,A是一个函数,这意味着由于它们的范围,在其中声明的对象在执行结束时会丢失。 A会像这样调用:

Wheel.A();

此时A将开始执行该函数,并且在A范围内声明的任何变量(在var之前)将在调用结束时丢失。