js 前加感叹号是什么意思?比如 !function(){}(); 答案在这里
来源:互联网 发布:2016淘宝不能邮箱注册 编辑:程序博客网 时间:2024/05/14 16:30
此文出自 http://q.cnblogs.com/q/52920/
感谢原创作者和转载者,感谢提问人和解答人。
!function(){}(); !有什么用?
从语法上来开,Javascript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始。所以,如果在一个单独的JS文件中,开头的分号是没有任何意义的,可以删掉。
叹号是逻辑运算符,是“非”的意思,常见这种写法 if(!true){};而将运算符加载函数定义的前面,则是将函数看做一个整体,然后再调用这个函数,并对返回的结构进行逻辑运算。
说白了,此处就是构建了一个立即执行函数,建议楼主知道意思就可以,自己写的时候,可以使用更清晰的格式:
(function(){})();
楼上已经给出很详细的解说了。
这里补充一点:在函数声明【 function (){} 】后面加【 () 】,意思是执行这个函数声明。有的叫法是“匿名自动执行函数”,更准确的表示应该为“立即执行函数”。
但立即执行函数,要作为表达式的一部分才行,不然js解释器会报语法错误。一般,成为表达式的最容易理解方式是:在左右两端加一个圆括号,像这样【 (function (){}) 】。所以,立即执行函数最常见的写法是【 (function (){})() 】,这是一个语句,在前面和后面都可以加【 ; 】。
其实立即执行函数还有N种写法,比如【 (function (){}) 】也行,在函数声明前加一元运算符也行:【 !function (){}() 】、【 ~function (){}() 】。甚至,对一元运算符进行组合也可以:【 !!!!function (){}() 】、【 ~~~function (){}() 】、【 !~!function (){}() 】。
- js 前加感叹号是什么意思?比如 !function(){}(); 答案在这里
- js 前加分号和感叹号是什么意思?
- js 前加分号和感叹号是什么意思?
- js函数前加分号和感叹号是什么意思?有什么用?
- js 前加分号和感叹号的含义
- JavaScript 中在 function() {} 前面加感叹号的作用
- Android工程中前红色感叹号是什么意思
- JS中的 $(function(){ } 是什么意思
- JS函数前面的感叹号是什么意思?
- 使用JavaScript时在变量前加2个感叹号意义
- jquery插件源码function加!是什么意思?
- js如果在function之前加上感叹号 (!) 等运算符是什么作用
- 为什么在 js在 function($) 前面加分号;
- T-SQL 字符串前加 N 是什么意思
- T-SQL 字符串前加 N 是什么意思
- T-SQL 字符串前加 N 是什么意思
- T-SQL 字符串前加 N 是什么意思
- T-SQL 字符串前加 N 是什么意思
- 解决Eclipse项目部署之Cannot change version of project facet Dynamic Web Module to 3.0?问题
- L2-4. 这是二叉搜索树吗?(区间递归)
- 文本编辑器
- UVA437 The Tower of Babylon
- Codevs 1220 数字三角形
- js 前加感叹号是什么意思?比如 !function(){}(); 答案在这里
- 《深入浅出WPF》学习笔记之三
- 递归入门 杭电 2042
- 关于“幽灵架构”的补充说明5:改造控制器
- linux 源码包安装LNMP(linux+nginx+mysql+php)服务器环境
- 内存操作函数
- 通过服务来下载APK,并在通知栏显示下载进度(两种方式)
- jQuery 插件
- 可变参数列表