JS - 如何使用其他函数的属性?

时间:2014-04-05 22:50:00

标签: javascript

我正在尝试使用我在function2上声明的function1中的变量。据我所知,这是不可能的,但这是主意。

我想创建一个类,问题是我必须实现它并从我的程序中发送它,因为我把这些方法称之为无处不在。我也试过全局,但无法使它工作。 (我是Javascript的新手)

在这些情况下,您有建议或最佳做法吗?

以下是一个例子:

window.onload = function() {
   fct1();
}  

function fct1() {

   var myArray = [];

   myArray.push(new Vehicle("car"));
   myArray.push(new Vehicle("bicycle"));
   myArray.push(new Vehicle("motorcycle"));
}

function fct2() {
   myArray[0].buy(); // buy() is a method of Vehicle. It throws me "myArray is undefined"
}

我知道这是完全正常的,我只是不知道如何处理这个问题。

1 个答案:

答案 0 :(得分:3)

你的问题是范围。

myArray仅存在于fct1函数

var myArray = [];

function fct1() {

   myArray.push(new Vehicle("car"));
   myArray.push(new Vehicle("bicycle"));
   myArray.push(new Vehicle("motorcycle"));
}

function fct2() {
   myArray[0].buy(); // buy() is a method of Vehicle.
}