[英]javascript - passing a function within itself
我有一个JavaScript函数,称为“ updateData”,我将其作为参数传递给函数“ updateData”本身内的另一个函数“ process”。
var updateData = function(){
var bean= {
"name" : $("#name").val(),
"sort" : $('#sort').val(),
"reference" : "sample"
};
var param = {
'bean' : bean,
'reference' : "sample" ,
'ajaxtype' : 'POST',
'url' : 'samp.json',
'valFn' : validateData,
'updateFn' : updateData,
'populateFn' : populateData
};
process(param );
};
我这样做是因为我需要将功能“ updateData”绑定到在process()中创建的按钮。
这会引起任何问题吗? 这是正确的吗?
(到目前为止,我还没有遇到任何问题。但是我是函数编程的新手,我想确保这样做不会引起任何问题)。
这将起作用。 之所以起作用,是因为在编写此函数时仅定义了该函数而不对其进行评估。 因此,在调用此函数时, updateData
变量已经具有对函数对象的引用,并且该引用将传递给您在内部定义的对象。
是的你可以。 函数可以在其定义内引用自身。 因为没有它,您将无法进行递归调用。
由于以下代码可以正常工作:
var updateData= function() {
if(someCondition){
updateData();
} else {
return;
}
}
以下代码也将起作用:
var updateData= function() {
process(updateData);
}
要么
var updateData= function() {
var param = {'updateFn' : updateData};
process(param);
}
您的代码绝对可以正常工作。 只要确保它不会陷入无限循环。
会的。
var upDateData = function() {
var params = { data : upDateData };
alert(params.data);
}
upDateData();
但是,如果按钮在同一页面中呈现,则可以使用委托来处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.