我正在尝试使用我在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"
}
我知道这是完全正常的,我只是不知道如何处理这个问题。
答案 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.
}