因此,您可以将值分配给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);
由于某种原因,它对我不起作用。
这是我的代码问题..我正在做类似于上面的事情,但没有工作:
在我准备好的doc中,我有这个代码..我希望结果存储在 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的随机值,它没有..
答案 0 :(得分:2)
问题是你永远不会退出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
}
在您的代码中,然后将之后发布的内容也放入该函数中。
答案 1 :(得分:1)
Fiddle(输出为:16 )
你正在做的就是应该
function getDouble (number){
var doubl = number+number;
return quadruple(doubl);
}
function quadruple(doubl){
var quad=doubl+doubl
return quad;
}
var num = 4;
var doub = getDouble(num);
答案 2 :(得分:1)
您无法访问getJson处理程序的返回值。框架调用该处理程序。你给它一个函数,并且.getJson在接收到响应时调用该函数。如果你需要访问runAfter的返回,你需要做任何你想要的事情。
而不是:
$.getJSON(GLOBALURL+'content/plugins/subcategories/getSubcategories.php',
function(data, ddl) {
...
return runafter(ddl, jsn);
});
}
您需要决定要对该值做什么,例如我将其填入某些隐藏字段的值中:
$.getJSON(GLOBALURL+'content/plugins/subcategories/getSubcategories.php',
function(data, ddl) {
...
$('#someField').val( runafter(ddl, jsn) );
});
}