2017-01-28 20 views
1

これは恐ろしい質問ですが残念ですが、私はJSの初心者です。 私は何をしようとしているのはすぐに実行される関数を持っているし、特定の事が本当であればその関数は他の関数を実行します。 しかし、私はそれを実行すると、関数はまだ定義されていないと私はこの問題を解決する方法を見つけることができないと言います。私はあなたの時間をありがとう。関数を使用して別の関数を実行するにはどうすればよいですか?

function start() { 
var start = prompt('Yes or no?'); 
if (start === 'Yes') { 
yes(); 
} 

しかし、最初は実行されている機能がその下にあり、実行できないためです。

+0

あなたがしようとしているコードを含めます。あなたはコードなしで投稿しません –

+0

通常の関数宣言を使用すると、何かエラーが発生してはいけないので、ホイストしていないランタイム関数を使用している可能性があります。 –

+0

この機能をどのように起動させますか? – tadman

答えて

-1

いくつかのシナリオでは、機能の問題をJavaScriptで記述する順序です。おそらくあなたが呼んでいる機能は、その下に書かれています。パラメータの一例としての機能を渡す

+0

私はそれを呼び出すものの上に他の関数を置こうとしました。しかし、関数Aから関数Aを、関数Aから関数Bを呼び出そうとしています。このコードをどのようにフォーマットできますか? –

+0

functionAが最初に呼び出された場合、まずfunctionBを定義します。次にfunctionAを呼び出してfunctionAを呼び出します。 Ravi S. Singhの答えを参照してください。 – Vijay

1

//declare a function called yes 
 
var yes = function(){ 
 
    alert('You said yes'); 
 
}; 
 

 
function start() { 
 
    
 
     var start = prompt('Yes or no?'); 
 
     if (start === 'Yes') { 
 
     yes(); 
 
     } 
 
    } 
 

 
start(); //call first function

var fun1 = function(callback) { 
 
    var res = prompt('Your ans please'); 
 
    callback(res);//pass response to function. 
 
}; 
 

 
var handleRes = function(res){ 
 
    if (res==='yes'){ 
 
    alert('you said yes'); 
 
    } 
 
    else if(res==='no'){ 
 
    alert('you said no'); 
 
    } 
 
    else { 
 
    alert('you did not say yes or no'); 
 
    } 
 
}; 
 

 
//call fun1 pass handleRes function to it for callback 
 
fun1(handleRes);

+0

私はyes関数からstart関数に戻るでしょうか?それは可能ですか? –

+0

はいそれは可能です。あなたはyes()でその関数を再び呼び出すことができます。 var yes = function(){アラート( 'あなたは「はい」と言っています); ();} –

+0

これは悪い例です。あなたがすべきことは、コールバックを使用して、関数をパラメータとして渡すことです。私はあなたのための例を掲載します。 –

関連する問題