js 前加分号和感叹号的含义
;!function(){}(); ;!有什么用?
从语法上来开。Javascript中分号表示语句结束,在开头加上。可能是为了压缩的时候和别的方法切割一下,表示一个新的语句開始。所以,假设在一个单独的JS文件里。开头的分号是没有不论什么意义的,能够删掉。
叹号是逻辑运算符,是“非”的意思,常见这样的写法 if(!true){}。而将运算符载入函数定义的前面,则是将函数看做一个总体。然后再调用这个函数。并对返回的结构进行逻辑运算。
说白了,此处就是构建了一个马上运行函数,建议楼主知道意思就能够。自己写的时候,能够使用更清晰的格式:
(function(){})();
这里补充一点:在函数声明【 function (){} 】后面加【 () 】,意思是运行这个函数声明。
有的叫法是“匿名自己主动运行函数”,更准确的表示应该为“马上运行函数”。
但马上运行函数,要作为表达式的一部分才行,不然js解释器会报语法错误。一般。成为表达式的最easy理解方式是:在左右两端加一个圆括号,像这样【 (function (){}) 】。所以,马上运行函数最常见的写法是【 (function (){})() 】,这是一个语句,在前面和后面都能够加【 ; 】。
事实上马上运行函数还有N种写法,比方【 (function (){}) 】也行。在函数声明前加一元运算符也行:【 !function (){}() 】、【 ~function (){}() 】。
甚至。对一元运算符进行组合也能够:【 !!!!function (){}() 】、【 ~~~function (){}() 】、【 !~!function (){}() 】。
js 前加分号和感叹号的含义的更多相关文章
- js 前加分号和感叹号是什么意思?
;!function(){}(); ;!有什么用? 从语法上来开,Javascript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始.所以,如果在一个单 ...
- js函数前加分号和感叹号的作用
js函数前加分号和感叹号是什么意思?有什么用? 一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascrip ...
- js文件中函数前加分号和感叹号是什么意思?
本文转自:http://blog.csdn.net/h_o_w_e/article/details/51388500 !function(){}(); !有什么用? 从语法上来开,JavaScri ...
- (转)js函数前加分号和感叹号是什么意思?有什么用?
转载地址:https://www.cnblogs.com/mq0036/p/4605255.html 一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuer ...
- js函数前加分号和感叹号是什么意思?有什么用?
一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascript组件是这样写的 !function( $ ){ ...
- 后半部分样式和JS前半部分脚本语言
样式 剩余样式: 1.<div style=display:"none"></div>:nono 是隐藏该元素内容,block是显示该元素内容 2.< ...
- js验证身份证号,超准确
js验证身份证号,超准确 看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p 其中 dddddd:地区码 ...
- highlight.js 设置行号
原文地址:highlight.js 设置行号 博客地址:http://www.extlight.com 一.背景 笔者在开发这套博客系统时使用 Editormd 作为 Markdown 编辑器,由于不 ...
- js 函数前的+号
不知啥时候起,函数的闭包需要增加+才能立即执行了. 不加反而报语法错.orz +function() { console.log("Foo!"); }(); 输出: Foo!< ...
随机推荐
- mmc生产任务分配问题续
mmc生产任务分配问题续,本题目比上个题目难, 要注意的是,生产,销售,库存的关系, 生产+上月库存-销售=本月库存, 期初,生产=库存,销售没有.
- C#编程(五十二)----------有序列表
有序列表 如果需要基于对所有集合排序,就可以使用SortedList<TKey,TValue>类.这个类按照键给元素排序.这个集合中的值和键都可以使用任意类型. 下面的例子创建了一个有序列 ...
- Python index()方法
Python index()方法 Python 字符串 描述 Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否 ...
- python测试开发django-28.发送邮件send_mail
前言 django发邮件的功能很简单,只需简单的配置即可,发邮件的代码里面已经封装好了,调用send_mail()函数就可以了 实现多个邮件发送可以用send_mass_mail()函数 send_m ...
- mysql慢查询监控及sql优化
在my.ini添加如下代码,即可查看那个sql语句执行慢了 log-slow-queries = d:/log/mysql-slow.log long_query_time = 1 打开日志 log ...
- 暴君第一季/全集Tyrant迅雷下载
本季第一季 Tyrant Season 1 (2014)看点:虽然李安退出了FX系列剧<暴君>(Tyrant),称不想耽误了剧集的制作,但显然FX对这部剧的重视程度非比寻常,因为他们找来的 ...
- Struts2再曝高危漏洞(S2-020补丁绕过)
之前S2-020漏洞利用方式见drops:Struts2 Tomcat class.classLoader.resources.dirContext.docBase赋值造成的DoS及远程代码运行利用! ...
- Kubeadm安装Kubernetes环境
Kubeadm方式号称一键安装部署,很多人也试过并且顺利成功,可到了我这里因为折腾系统问题,倒腾出不少的坑出来. kubeadm好处是自动配置了必要的服务,以及缺省配置了安全的认证,etcd,apis ...
- 《成神之路-基础篇》JVM——Java内存模型(已完结)
Java内存模型 本文是<成神之路系列文章>的第一篇,主要是关于JVM的一些介绍. 持续更新中 Java内存模型 JVM内存结构 VS Java内存模型 VS Java对象模型(Holli ...
- diff详解
作者: 阮一峰 日期: 2012年8月29日 diff是Unix系统的一个很重要的工具程序. 它用来比较两个文本文件的差异,是代码版本管理的基石之一.你在命令行下,输入: $ diff <变动前 ...