我有兩個函數,並且試圖從第二個函數返回一些東西。不知道我做錯了什麼。我不斷收到undefined
的警報。從函數返回到另一個javascript
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar;
return returnVar;
}
我有兩個函數,並且試圖從第二個函數返回一些東西。不知道我做錯了什麼。我不斷收到undefined
的警報。從函數返回到另一個javascript
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar;
return returnVar;
}
,你可以在這裏看到,正在工作: http://jsfiddle.net/hCGu8/
CODE
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar + " returned";
return returnVar;
}
a();
這聲音我的權利......事實上,我可要提醒有「你好」:
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar;
return returnVar;
}
a();
是的。我也是這樣做的。同樣的結果。 –
代碼沒有問題。 – crush
你的問題主題說「從功能返回」和你的標籤提到jQuery
,而問題中的代碼正常工作。
我的工作,你已經太遠減少您的測試案例,並從中取出這個問題的假設(未來,請測試您減少測試案例,以確保他們仍然說明問題!)和你居然有這樣的事情:
function a() {
var result = jQuery('foo').on('click', function() { return 1; });
// ^^ This being the on function
}
...你想result
等於1
。
這是不可能的。
on
只是指定一個事件處理程序,稍後運行。在事件發生之前,a
的執行將結束。您不能將任何事件從事件處理程序返回給分配它的函數。
您可以使用回調,在該回調中您可以定義一個函數,以在數據可用時運行。這部作品在完全相同的是,你傳遞的第二個參數on
功能:
function a(callback) {
var result = jQuery('foo').on('click', function() { callback(1); });
}
a(function (result) { alert(result); });
工作正常,我。當我調用'a()'時,除非你沒有談論'a'中的警報。 – epascarello
它適合我。請發佈[JSFiddle](http://jsfiddle.net)。 – Doorknob
顯示你如何調用功能 – Curt