zoukankan      html  css  js  c++  java
  • function与感叹号

    !function( $ ){
      //...
    }( window.jQuery );
    其实是执行函数的意思,等同于
    (function($) {         
      //...  
    })(jQuery);
    不过它们的执行效率有所差距,声明函数我们有以下两种方式:
    
    function fnA(){alert('msg');}//声明式定义函数
    var fnB = function(){alert('msg');}//函数赋值表达式定义函数
    fnA();  //弹出'msg'
    fnB();  //弹出'msg'
    
    通常,我们调用一个方法的方式就是 FunctionName()
    
    但是,如果我们尝试为一个“定义函数”末尾加上(),解析器是无法理解的。
    
    function msg(){
      alert('message');
    }();//解析器是无法理解的
    
    
    定义函数的调用方式应该是 msg() ; 那为什么将函数体部分用()包裹起来就可以了呢?
    
    原来,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。也就是说,任何能将函数变成一个函数表达式的作法,都可以使解析器正确的调用定义函数。而 ! 就是其中一个,而 + - || 都有这样的功能。
    
    另外,用 ! 可能更多的是一个习惯问题,不同的运算符,性能是不同的。

    参考:http://swordair.com/function-and-exclamation-mark/ 

  • 相关阅读:
    Lamp环境搭建
    jquery之下拉列表select
    jquery之radio
    php连接postgresql
    ipython的notebook
    python连接postgresql数据库
    django最简单表单入门
    css制作简单下拉菜单
    下拉列表简单操作
    css制作最简单导航栏
  • 原文地址:https://www.cnblogs.com/jewave/p/5082368.html
Copyright © 2011-2022 走看看