一个相当简单的问题,如何在函数外返回或传递值?
以下代码:
function numberOfDivs(){
var numberOfElements = $("#div").children().length; //this count how many divs exist
return numberOfElements;
}
$("#element").click(function(){
numberOfDivs();
console.log(numberOfElements);// here I need to return the number but getting error :(
});
非常感谢
答案 0 :(得分:2)
$("#element").click(function(){
var numberOfElements= numberOfDivs();
console.log(numberOfElements);
});
答案 1 :(得分:2)
尝试
var numberOfElements= numberOfDivs();
console.log(numberOfElements);
由于函数是返回一个值,当我们调用函数时,我们分配了一个变量来捕获结果
答案 2 :(得分:1)
var numberOfElements;
function numberOfDivs(){
numberOfElements = $("#div").children().length; //this count how many divs exist
}
$("#element").click(function(){
console.log(numberOfElements);// here I need to return the number but getting error :(
});
答案 3 :(得分:1)
一种方法是:在全局范围内定义numberOfElements
,如下所示:
var numberOfElements;
function numberOfDivs(){
numberOfElements = $("#div").children().length; //this count how many divs exist
return numberOfElements;
}
$("#element").click(function(){
numberOfDivs();
console.log(numberOfElements);// here I need to return the number but getting error :(
});
或者另一种方法是:将结果分配到一个变量中并使用
$("#element").click(function(){
var output = numberOfDivs();
console.log(output);// here I need to return the number but getting error :(
});
答案 4 :(得分:1)
尝试使用回调函数,考虑一个场景,如果你的numberofDivs函数需要时间来返回值,它将不会给出适当的结果,因为Jquery是异步的。请参阅此演示,了解如何使用回调来返回数据CALLBACK DEMO
function AppendJson(callback) {
var numberOfElements = "AppendJson";
callback(numberOfElements)
}
AppendJson(function (ReturnValue) {
alert(ReturnValue);
});