zoukankan      html  css  js  c++  java
  • javascript立即执行函数简单介绍

    立即执行函数顾名思义就是声明一个函数,并立即执行它。而且执行完就释放控件,找不到引用

    立即执行函数写法

    (function (形参){  // 写法1(w3c建议)
        xxx    
    }(实参))
    
    (function (形参){  // 写法2
        xxx        
    })(实参)      

    但是个人更习惯用第二种写法,所以这看个人习惯了。

    注意!! 只有表达式才能被执行符号()执行,且被执行后忽略函数名

    function a(){}() //报错,因为这是函数申明
    var test = function a(){}() //可以执行,这是函数表达式,注意被执行后test为undefined 类似于立即执行函数

    立即执行函数也是有返回值,如下

    //正常情况
    (function (a, b, c) {
        var d = a + b + c
        console.log(d)
    }(1, 2, 3))
    
    //有返回值情况
    var num = (function (a, b, c) {
        var d = a + b + c
        return d
    }(1, 2, 3))
    console.log(num)  //6

    曾经看过这样一道题目,如下

    //前面说了,理论上该情况上会报错
    function a() {
    }() 
    
    //但是如果括号里加参数就不会报错
    function a(a, b, c) {
        console.log(a + b + c)
    }(1, 2, 3)  //不会报错 也不会执行a函数
    
    //因为如果括号加参数,系统会认为这不是执行符号,这是后会当成两句代码 函数声明和(1, 2, 3)
    function a(a, b, c) {
        console.log(a + b +c)
    }
    (1, 2, 3) 

    end !!!

  • 相关阅读:
    矩阵乘法优化求斐波那契
    高斯消元
    NOIP201305转圈游戏
    双六问题
    线段上格点的个数
    如何写出优雅的Python代码?
    sock.listen()
    python socket编程
    sc,sockname = sock.accept()
    格式化字符
  • 原文地址:https://www.cnblogs.com/lyjfight/p/13336630.html
Copyright © 2011-2022 走看看