立即执行函数
    IIFE - immediately-ivnoked function expression
    自动执行,执行完成后立即释放
    一个功能性是用作初始化

    1. (function(){
    2. console.log('函数体')
    3. })();
    4. ( function(){} () ) w3c建议的
    1. 不行执行的
    2. function test(){ consloe,log(1)}() // 语法报错 uncaught syntaxError :
    3. 但是
    4. var test - function test(){}( consloe,log(1)) // 可以执行
    5. (function test(){})(); 可以执行

    1.一定是表达式才可以()立即执行;在 var a = function () {} ()中,是 = funciton (){} 是一个表达式,类似有 ! function(){ }(); 2&& function(){}() ; + function (){}()

    执行完就销毁

    1. let test = function (){ console.log(1) } ()
    2. console,log(test) // undefined 执行完就销毁了
    1. function test(){
    2. }() // 报错的 ,不是表达式
    3. function test() { function test() {}
    4. js引擎为了不报错 (6) // 等于6
    5. 理解为这样
    6. }(6) =======》

    逗号运算符

    1. let a = (1+3 , 4+ 6) // 10 输出求后面的一个
    1. var a = (
    2. function one (){
    3. return 1
    4. },
    5. function two(){
    6. return '2
    7. )()
    8. // '2' typeOf(a) string
    1. var b = 10
    2. if(function a (){}){ ====> ( function a (){} ) 是一个表达式
    3. b+= typeOf(a) 所以a undefined
    4. }
    5. console.log(b) // 10undefined