因此您可以为 var doub
赋值,如下所示:
function getDouble(number) {
var doubl = number + number;
return doubl;
}
var num = 4;
var doub = getDouble(num);
我想知道是否可以通过调用第二个函数来获取返回类型,如下所示。那么第二个方法的返回值可以赋值给doub
吗?
function getDouble(number) {
var doubl = number + number;
return quadruple(doubl);
}
function quadruple(doubl) {
quad = doubl + doubl
return quad;
}
var num = 4;
var doub = getDouble(num);
由于某种原因,它对我不起作用。
这是我有问题的代码。我正在做与上面类似的事情,但不起作用:
在我的文档中,我有这段代码。我希望将结果存储在 newjsn
$(document).ready(function()
{
var newjsn= DatabaseCategoriesToSelectList(num, 200, 100);
我的 DatabaseCategoriesToSelectList 函数是:
function DatabaseCategoriesToSelectList(jsn, max, min){
var ddl="<option selected='selected' value='"+min+"'>Select...</option>";
//load categories from database, and put them into the select drop down.
$.getJSON(GLOBALURL+'content/plugins/subcategories/getSubcategories.php',
function(data, ddl) {
var datas= jQuery.grep(data, function(element, index){
return element.category_id < max && element.category_id>min; // retain appropriate elements
});
for (x=0; x<datas.length; x++){
ddl= ddl+"<option value='"+datas[x].category_id+"'data-subcategory='"+datas[x].category_subselect+"'>"+datas[x].category_safe_name+"</option>";
}
alert (ddl); return runafter(ddl, jsn);
});
}
function runafter(ddl, jsn){
jsn=ddl;
alert(jsn);
return 500;
}
出于某种原因,警报有效,但我无法让它返回字符串。我什至尝试返回一个随机值 500,但它没有..
最佳答案
问题是您永远不会从 DatabaseCategoriesToSelectList
函数中返回。您的函数如下所示:
function DatabaseCategoriesToSelectList(jsn, max, min) {
...
$.getJSON(GLOBALURL+'content/plugins/subcategories/getSubcategories.php',
function(data, ddl) {
...
return runafter(ddl, jsn);
}
);
}
内部return
不是从DatabaseCategoriesToSelectList
返回,而是从内部函数返回。但是,无论您做什么,都无法使其返回您想要的值,因为 $.getJSON
是异步调用。你必须放一些类似的东西
function(data, dll) {
...
var newjsn = runafter(ddl, jsn);
// put the rest of your stuff that uses newjsn here
}
在你的代码中,然后将后面的内容也放入该函数中。
关于javascript - 如何从 javascript/jQuery 中调用另一个函数的函数获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15912829/