2016-05-18 17 views
1

私は以下のようないくつかのJavaScript関数を持っている: -1つのJavaScript関数を複数の関数にコールバックするにはどうすればよいですか?

function temp() { 
 
    var rep ="some"; 
 
} 
 

 

 

 
function solve() { 
 
    function temp(); 
 
    $("#demo").text('solve1:'+rep); 
 
} 
 

 
function solve1() { 
 
    function temp(); 
 
    $("#demo1").text('solve2:'+rep); 
 
} 
 
    
 
function solve2() { 
 
    function temp(); 
 
    $("#demo2").text('solve3:'+rep); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<p id="demo"></p> 
 
<p id="demo1"></p> 
 
<p id="demo2"></p> 
 
<button onclick="solve()">solve</button><br> 
 
<button onclick="solve1()">solve</button><br> 
 
<button onclick="solve2()">solve</button><br>

私の質問は、他のすべての三つの機能に最初function temp()をコールバックする方法です。上のスクリプトは機能しません。複数の関数に1つのJavaScript関数を含めるにはどうすればよいですか?

+0

スコープは関数内であります –

答えて

1

まず、temp()関数の変数repの値を返す必要があります。そして、その関数を呼び出したところで、その値が利用可能になります。関数を呼び出すときにキーワードfunctionを使用する必要はありません。関数の名前だけが行います。コードのコメントを参照してください。変数 `rep`の

function temp() { 
 
    var rep = "some"; 
 
    return rep;  // Return the value of the 'rep' variable. 
 
} 
 

 

 

 
function solve() { 
 
    var rep = temp();  // Call the 'temp()' function defined above. 
 
    $("#demo").text('solve1:'+rep); 
 
} 
 

 
function solve1() { 
 
    var rep = temp(); 
 
    $("#demo1").text('solve2:'+rep); 
 
} 
 
    
 
function solve2() { 
 
    var rep = temp(); 
 
    $("#demo2").text('solve3:'+rep); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<p id="demo"></p> 
 
<p id="demo1"></p> 
 
<p id="demo2"></p> 
 
<button onclick="solve()">solve</button><br> 
 
<button onclick="solve1()">solve</button><br> 
 
<button onclick="solve2()">solve</button><br>

関連する問題