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!< ...
随机推荐
- PHP 如何创建守护(daemon)进程
先讲几个概念 守护进程: Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程常常在系统引导装入时启动,在系统关闭时终止. ...
- Programming 2D Games 读书笔记(第六章)
http://www.programming2dgames.com/chapter6.htm 示例一:Bounce 边界碰撞测试 velocity为移动的速度, 超过右边界,velocity.x为 ...
- OPENSSL FIPS
https://www.openssl.org/docs/fipsnotes.html https://wiki.openssl.org/index.php/FIPS_mode() openssl-f ...
- WiX: uninstall older version of the application
I have installer generated by WiX and I want it to ask: "You have already installed this app. D ...
- 为什么MacBook装Windows这么火?
Mac到底要不要装Windows?一直以来这都是个很有争议性的话题.只要你经常浏览国内一些知名Mac论坛,就会发现那里不仅有各种Mac装Windows教学贴.讨论区,而且时不时还会冒出关于“Mac装不 ...
- 将Excel中的数据批量导入数据库表
private boolean import_to_database(String excel_path) throws BiffException, IOException, HsException ...
- Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)
前言 使用ab压力测试时候出现报错apr_pollset_poll: The timeout specified has expired (70007),本篇总结了几个ab常见的报错和对应解决办法 当 ...
- Lua date format
网上有比较复杂的方法:Date Formatting Functions 写了一个非常简单的代码 1: function formatDate(seconds, dateformat) 2: -- ...
- ClipDrawable属性介绍
ClipDrawable代表从其它位图上截取一个"图片片段",XML中的根元素为<clip.../>,截取的方向由clipOrientation控制 <?xml ...
- LaTeX技巧205:使用split输入多行公式技巧
我们在输入多行公式的时候,split,array,multiline,align,aligned等等都是我们可以选用的环境,这里介绍split的使用方法.演示效果图: 演示代码:\documentcl ...