Javascript 有人告诉我,有时不使用“()”就可以调用无需返回的函数,对吗?
一些jquery代码如下:Javascript 有人告诉我,有时不使用“()”就可以调用无需返回的函数,对吗?,javascript,jquery,Javascript,Jquery,一些jquery代码如下: $("#buy_price").blur(function(){ price_num; }); $("#buy_num").blur(function(){ price_num; }); function price_num() { var price = $("#buy_price").val(); var num = $("#buy_num").val(); $("#buy_result").html(price*num
$("#buy_price").blur(function(){
price_num;
});
$("#buy_num").blur(function(){
price_num;
});
function price_num() {
var price = $("#buy_price").val();
var num = $("#buy_num").val();
$("#buy_result").html(price*num);
};
谁能告诉我这是正确的还是不确定的吗?最好用这种方式:
$("#buy_price, #buy_num").blur(price_num);
简明扼要
因为price_num本身就是一个函数,所以您可以在绑定事件的回调函数中调用它,或者您必须在其中插入括号:
没有
如果要调用函数,可以:
使用
指示另一个函数调用它。
返回值是无关的
在本例中:
$("#buy_price").blur(function(){
price_num;
});
当模糊事件发生时,另一个函数将调用匿名函数
根本不会调用price_num函数,因为这两个条件都不适用
但是,如果您要:
$("#buy_price").blur(price_num);
当模糊事件发生时,另一个函数将调用price_num。这并不完全正确。告诉您的人可能被使用新操作符创建对象的特定方式弄糊涂了 这是有效的,并且这两条语句都将按预期创建对象:
var a = new SomeFunction();
var b = new SomeFunction;
但是,您不能这样调用函数,因为您只是将函数返回到no-where
myFunction; // Does nothing
和这些一模一样
42;
"Jsjsknsdjdj";
4 == 8;
所有这些都被忽略,因为它们的值没有分配给任何东西
我建议您始终使用,因为在阅读代码时,即使在创建对象时,也会清楚地表明正在进行函数调用。不,您必须补充一点,编译器知道它是一个被调用的函数B,如果是这样的话。。。为什么要调用这样的函数?
42;
"Jsjsknsdjdj";
4 == 8;