我是Javascript新手,我試圖編寫一個程序,它將使用一個變量來調用函數,我將變量var X;
定義爲全局變量,並在startGame()
函數上初始化它。問題是如果我運行startGame()
一次,然後調用X();
作爲一個函數工作正常,但說我把它放在一個循環,它運行在第一次迭代,當它返回時,它說Uncaught TypeError: X is not a function
。剛接觸Javascript我很困惑,我需要關於如何使用變量作爲函數的幫助。返回函數Javascript
var X,
i=0,
lastmove = 100; //Randomly initialize function
function A(){
console.log('A');
}
function B(){
console.log('B');
}
function C(){
console.log('C');
}
function pickFunc(){
var temp = Math.floor(Math.random() * 3) + 1;
if(temp==lastmove)
temp = pickFunc()
else
lastStr = temp;
if(temp == 1)
return A();
else if(temp == 2)
return B();
else
return C();
}
function startGame(){
X = pickFunc();
for(i; i<10; i++)
X()
}
'返回A'等...因爲'返回A()'返回調用'A' –
的結果,我只是說,它跑了一次就好的是,下一行表示'undefined' –
'爲(i; i <10; i ++)'...'對於(var i = 0; i <10; i ++)'更合理 - 除了它會調用X()10次 –