JS学习之旅(八)立即执行函数

立即执行函数

此类函数没有声明,在一些执行过后即释放,适合做初始化工作

立即执行函数定义

    (function () {}());// W3C 建议第一种
    (function () {})();

立即执行函数用时,一般都会讲值保留下来,将值保留下来

    var num = (function (a, b, c) {
        return a + b + c;
    }(1, 2, 3));

立即执行函数由来

    // 函数定义 1 + 2
    // 1.函数声明
    function test() {}
    // 2.函数表达式
    var test = function test() {};

    function one() {}();// 编译报错
    var two = function () {}();// 能被执行
    two()// 报错 undefined
    
    // 只有表达式,才能被执行符号执行.
    // 能被立即执行的表达式,名字都会被忽略.
    // 立即执行函数,一旦执行,引用被忽略.

	// + 让函数声明变成表达式
    +function three() {
        console.log("three");
    }();// 立即被执行
    three();//报错
    
    // 运算符可以 那么()也为运算符
    (function four() {
        console.log("four");
    })();
    (function five() {
        console.log("five");
    }());
    (function () {
        console.log("变成立即执行函数了吧");
    }());

小问题

	// 是否报错?
	function test(a, b, c, d) {
		console.log(a, b, c, d);
	}(1, 2, 3, 4);
	
	//次函数不会报错,程序编译时,不讲代码分开
	function test(a, b, c, d) {
		console.log(a, b, c, d);
	}



	(1, 2, 3, 4);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值