zoukankan      html  css  js  c++  java
  • JavaScript系列:函数 自执行 表达式 声明 定义

    可用方式

    • (function($) {})(jQuery);

    • !function( $ ){}(jQuery);

    • +function( $ ){}(jQuery);

    • -function( $ ){}(jQuery);

    • ~function( $ ){}(jQuery);


    更多方式参考http://swordair.com/function-and-exclamation-mark/

    本质解释


    function() {}()这么写会报错,因为这是一个函数定义:

    修正1:(多了一对括号),调用匿名函数:(function() {})()
    修正2: 在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用!function() {}()
    使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。任何何能将函数变成一个函数表达式的作法,都可以使解析器正确的调用定义函数。
    !, +, -,||都有这样的功能。

    函数(声明和表达式)个人常用函数声明,因为放在调用的上面还是下面都不出错

    函数声明不仅会提升声明,还会提升定义

    fun() // 调用成功
    function fun() {} 
    

    函数表达式只会提升声明,不会提升定义

    fun()  // 有foo这个变量,但它却不是函数,所以调用失败
    var fun = function() {}
    

    变量提升

    不论函数的表达式还是声明,都是变量(函数字面量),变量(声明)提升

  • 相关阅读:
    火焰图&perf命令
    C10K问题
    cocosStudio中使用PageView,ListView和ScrollView
    vim基本命令
    Git命令学习总结(-)
    可在 html5 游戏中使用的 js 工具库
    待飞日记(第十一篇)
    待飞日记(第十篇)
    待飞日记(第八天和第九天)
    高质量C++/C编程指南
  • 原文地址:https://www.cnblogs.com/leee/p/5344030.html
Copyright © 2011-2022 走看看