;!function(){}();  ;!有什么用?

从语法上来开。Javascript中分号表示语句结束,在开头加上。可能是为了压缩的时候和别的方法切割一下,表示一个新的语句開始。所以,假设在一个单独的JS文件里。开头的分号是没有不论什么意义的,能够删掉。

叹号是逻辑运算符,是“非”的意思,常见这样的写法 if(!true){}。而将运算符载入函数定义的前面,则是将函数看做一个总体。然后再调用这个函数。并对返回的结构进行逻辑运算。

说白了,此处就是构建了一个马上运行函数,建议楼主知道意思就能够。自己写的时候,能够使用更清晰的格式:

(function(){})();

这里补充一点:在函数声明【 function (){} 】后面加【 () 】,意思是运行这个函数声明。

有的叫法是“匿名自己主动运行函数”,更准确的表示应该为“马上运行函数”。

但马上运行函数,要作为表达式的一部分才行,不然js解释器会报语法错误。一般。成为表达式的最easy理解方式是:在左右两端加一个圆括号,像这样【 (function (){}) 】。所以,马上运行函数最常见的写法是【 (function (){})() 】,这是一个语句,在前面和后面都能够加【 ; 】。

事实上马上运行函数还有N种写法,比方【 (function (){}) 】也行。在函数声明前加一元运算符也行:【 !function (){}() 】、【 ~function (){}() 】。

甚至。对一元运算符进行组合也能够:【 !!!!function (){}() 】、【 ~~~function (){}() 】、【 !~!function (){}() 】。

js 前加分号和感叹号的含义的更多相关文章

  1. js 前加分号和感叹号是什么意思?

    ;!function(){}();  ;!有什么用? 从语法上来开,Javascript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始.所以,如果在一个单 ...

  2. js函数前加分号和感叹号的作用

    js函数前加分号和感叹号是什么意思?有什么用? 一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascrip ...

  3. js文件中函数前加分号和感叹号是什么意思?

    本文转自:http://blog.csdn.net/h_o_w_e/article/details/51388500 !function(){}();   !有什么用? 从语法上来开,JavaScri ...

  4. (转)js函数前加分号和感叹号是什么意思?有什么用?

    转载地址:https://www.cnblogs.com/mq0036/p/4605255.html 一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuer ...

  5. js函数前加分号和感叹号是什么意思?有什么用?

    一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascript组件是这样写的 !function( $ ){ ...

  6. 后半部分样式和JS前半部分脚本语言

    样式 剩余样式: 1.<div style=display:"none"></div>:nono 是隐藏该元素内容,block是显示该元素内容 2.< ...

  7. js验证身份证号,超准确

    js验证身份证号,超准确 看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p    其中 dddddd:地区码  ...

  8. highlight.js 设置行号

    原文地址:highlight.js 设置行号 博客地址:http://www.extlight.com 一.背景 笔者在开发这套博客系统时使用 Editormd 作为 Markdown 编辑器,由于不 ...

  9. js 函数前的+号

    不知啥时候起,函数的闭包需要增加+才能立即执行了. 不加反而报语法错.orz +function() { console.log("Foo!"); }(); 输出: Foo!< ...

随机推荐

  1. sqlserver 2012 查询时提示“目录名称无效”

    重装系统或者用360等软件清理了相应的临时文件导致解决:在运行中输入 %temp% 回车,会跳出找不到路径的提示,然后到提示的目录建没有找到的目录文件夹即可.

  2. SRM 449 DIV 1 总结(550p标记下,下次做)

    今天的250p搞得有点久了,500p是个类似铺瓷砖的dp题,这样先占个坑,给个poj的这类题列表,下次刷完了回来做! POJ 相关DP列表 http://blog.csdn.net/jayye1994 ...

  3. Snmp学习总结(四)——WinServer2003安装和配置SNMP

    一.安装SNMP 今天讲解一下在WinServer2003安装和配置SNMP,具体操作步骤如下: 找到[控制面板]→[添加或删除程序]

  4. AngularJS路由系列(4)-- UI-Router的$state服务、路由事件、获取路由参数

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router的$state服务● UI-Router的路由事件● UI-Router获取路由参数 Angular ...

  5. Windows XP UDF 2.5 补丁,播放蓝光ISO光盘必备

    蓝光光盘的文件系统是UDF2.5,Windows XP及以下的操作系统默认不能支持这个文件系统.当我们在XP系统中使用蓝光光盘或蓝光ISO文件时,就会提示“Windows不能从此盘读取,此盘可能已损坏 ...

  6. Instrument 实用详解

    苹果:Instruments User Guide iPhone Memory Debugging with NSZombie and Instruments 苹果:Mac OS X Debuggin ...

  7. 算法java实现--动态规划--电路布线问题

    /* * dianlubuxian.java * Version 1.0.0 * Created on 2017年11月30日 * Copyright ReYo.Cn */ package reyo. ...

  8. Vector HashMap List 存取数据速度

    数组大小:40000List_List:0.0045List :0.0818List_HashMap:0.0072HashMap :0.0517List_Vector:0.0037Vector :0. ...

  9. spring-boot:run启动时,指定spring.profiles.active

    Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile. 如果要指定spring-boot的spring.profiles. ...

  10. spring源代码分析

    预初始化beanDefaultListableBeanFactory preInstantiateSingletons