Javascript JS-如何使用另一个函数的属性?
我正在尝试使用我在Javascript JS-如何使用另一个函数的属性?,javascript,Javascript,我正在尝试使用我在function1上声明的function2中的变量。我知道这是不可能的,正如人们所说的,但这是一个想法 我想创建一个类,问题是我必须实例化它并从我的程序中发送它,因为我到处调用这个方法。我也试过globals,但没能成功。(我是Javascript新手) 在这些情况下,您是否有建议或最佳做法 以下是一个例子: window.onload = function() { fct1(); } function fct1() { var myArray = [];
function1
上声明的function2
中的变量。我知道这是不可能的,正如人们所说的,但这是一个想法
我想创建一个类,问题是我必须实例化它并从我的程序中发送它,因为我到处调用这个方法。我也试过globals,但没能成功。(我是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"
}
我知道这是完全正常的,我只是不知道如何处理。你的问题是范围
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.
}
你的问题是范围
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.
}
你的问题是范围
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.
}
你的问题是范围
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.
}
我知道,但当我按照你说的去做时,我会觉得:
不可能从一个空的或未定义的引用中获得“购买”
@Elfayer可能Vechile()
也不在fct1()的范围之内
。那是因为你应该在fct2
之前调用fct1
,或者至少用Vehicle
@aduch的一个实例初始化myArray
,我在window.onload()
@ellayer调用fct1,也许你应该向我们展示更多你的代码,我知道,但当我按照你说的做的时候,它让我感到:不可能从一个空的或未定义的引用中获得“购买”
@Elfayer可能Vechile()
也不在fct1()的范围之内
。那是因为你应该在fct2
之前调用fct1
,或者至少用Vehicle
@aduch的一个实例初始化myArray
,我在window.onload()
@ellayer调用fct1,也许你应该向我们展示更多你的代码,我知道,但当我按照你说的做的时候,它让我感到:不可能从一个空的或未定义的引用中获得“购买”
@Elfayer可能Vechile()
也不在fct1()的范围之内
。那是因为你应该在fct2
之前调用fct1
,或者至少用Vehicle
@aduch的一个实例初始化myArray
,我在window.onload()
@ellayer调用fct1,也许你应该向我们展示更多你的代码,我知道,但当我按照你说的做的时候,它让我感到:不可能从一个空的或未定义的引用中获得“购买”
@Elfayer可能Vechile()
也不在fct1()的范围之内
。这是因为您应该在fct2
之前调用fct1
,或者至少使用Vehicle
@aduch的一个实例初始化myArray
。我正在窗口调用fct1。onload()
@ellayer也许您应该向我们展示更多的代码