Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-如何使用另一个函数的属性?_Javascript - Fatal编程技术网

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也许您应该向我们展示更多的代码