我想知道当我们使用圆形括号()和没有括号()调用函数时有什么区别。假设我有一个像
这样的函数function($) {
var hideAnswers = function() {
$('#faqGrid tr td').each(function(){
var $td = $(this);
$td.children('div .answer').hide();
}); //end of $('#faqGrid tr td').each(fn)
}; //end of var hideAnswers = function() {}
var showMessage = function(message){
alert(message);
}; //end of var showMessage = function(){}
hideAnswers(); //working
hideAnswers; // not working
}(jQuery); // end of function($) {
第二个 hideAnswers; 现在正在使用此案例。我还想问我们什么时候将函数分配给变量,什么时候不变量?
另外假设我有一个按钮,点击其中我想调用此功能然后我们怎么称它为
<input type="button" onclick = hideAnswers(); /> // is it right?
如果我还想在我的xhtml页面上将值传递给此函数,该怎么办?像
<input type="button" onclick = showMessage("what is your name "); /> // is it right?
由于
答案 0 :(得分:4)
()使函数执行其定义中的代码。没有(),你只是指代函数本身 - 这非常有用。您可以将函数存储在变量中并传递它们。
这可能有助于说明:
function someFunc(){
alert("hello from someFunc");
}
function someOtherFunc(executeMe){
executeMe();
}
someOtherFunc(someFunc);
答案 1 :(得分:2)
不同之处在于,如果您不使用()
,则不会调用该函数。
只要写出函数的名称(如hideAnswers
)就什么都不做。它曾用于将函数作为参数传递给另一个函数或将其分配给变量。它没有称之为。