我有两个函数,并试图从第二个函数返回一些东西。不知道我做错了什么。我不断收到undefined
警报。
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar;
return returnVar;
}
我有两个函数,并试图从第二个函数返回一些东西。不知道我做错了什么。我不断收到undefined
警报。
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar;
return returnVar;
}
正如你在这里看到的,正在工作:http: //jsfiddle.net/hCGu8/
代码
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();
您的问题主题说“从函数返回”并且您的标签提到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); });