关于JS 函数 的 " 括号 "

函数后有无括号

通俗点说 :
1, 有括号, 函数会立即执行, 然后返回结果;
2, 无括号, 会将函数 作为"对象"赋值给你的变量 .

写个简单的小例子:

//结果: 
function test() {
            return 11;
        }
        var a = test;
        var b = test();
        console.log('a --->'+ (a === test));    //true
        console.log('a --->'+ a);     //function test() {return 11;}
        console.log('b --->'+ b);               //11 

函数上有无括号

function a(){}(函数声明)
返回undefined(不会执行),仅仅是函数声明(声明提前)

var res = function a(){}() (函数表达式)
立即执行该函数,必须使用一个变量接收返回值,否则报错

(function a(){})() (函数表达式)
立即执行该函数,不必须使用变量接收

function test1(){ alert('test1执行了');return 1;}   //不执行

var test2 = function test2(){ alert('test2执行了');return 2;}()//立即执行

var test3 = (function test3(){alert('test3执行了');return 3;})()//立即执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值