此文出自 http://q.cnblogs.com/q/52920/

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

从语法上来开,JavaScript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始。所以,如果在一个单独的JS文件中,开头的分号是没有任何意义的,可以删掉。

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

说白了,此处就是构建了一个立即执行函数,建议楼主知道意思就可以,自己写的时候,可以使用更清晰的格式:

(function(){})();

楼上已经给出很详细的解说了。

这里补充一点:在函数声明【 function (){} 】后面加【 () 】,意思是执行这个函数声明。有的叫法是“匿名自动执行函数”,更准确的表示应该为“立即执行函数”。

但立即执行函数,要作为表达式的一部分才行,不然js解释器会报语法错误。一般,成为表达式的最容易理解方式是:在左右两端加一个圆括号,像这样【

(function (){}) 】。所以,立即执行函数最常见的写法是【 (function (){})()

】,这是一个语句,在前面和后面都可以加【 ; 】。

其实立即执行函数还有N种写法,比如【 (function (){}) 】也行,在函数声明前加一元运算符也行:【 !function (){}()

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

~~~function (){}() 】、【 !~!function (){}() 】。

php正则表达式叹号,js库前加一个感叹号(!)是什么意思??相关推荐

  1. JS数组前加三点什么意思

    JS数组前加三点什么意思 数组加三点,表示将数组内元素以空格为罗列出来,常用于寻找数组内的最优值. var arr = [11, 22, 33, 44,55]; console.log(...arr) ...

  2. html插入视频开始前图片,视频前面加图片|录制的视频前加一个图片介绍怎么弄...

    想要在录制的视频前加一个图片介绍怎么弄?嘿嘿(。・∀・)ノ゙这个就需要用到视频编辑软件啦,现在网络上视频编辑工具蛮多的,这不是又有点小纠结咧,尚在徘徊的童鞋那就随小编来看看下面这款制作视频前面加图片需 ...

  3. oracle小型机叹号灯亮,一个黄圆圈加一个感叹号 汽车叹号故障灯图解

    有时轿车产生常见故障,车内仪表盘便会有仪表盘指示灯闪烁,不一样样子的故障指示灯意味着着不一样的常见故障缘故.例如:一个黄圆形加一个惊叹号的是刹车系统指示灯. 轿车带惊叹号常见故障指示灯图解1.刹车系统 ...

  4. JS函数前加!是什么意思

    翻看一些源码遇到的,不理解!function(){}()这种写法是什么意思,就顺手查找了相关知识点,看到了Segmentfault社区也有人提出了相同的问题,并且有得到了解答.做一个记录,以便后续查找 ...

  5. 题目:请编写函数void fun( char *s),函数的功能是:在字符穿中的所有数字字符前加一个$字符,例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。

    转自个人网站:https://www.jinxiaoliang.cn/478.html 分析:遍历整个字符串,如果发现有数字字符就先输出一个$,再输出数字字符,若未发现数字字符就直接输出字符.在这里我 ...

  6. js 将时间加一个月

    function util(){//几月前后this.addMonths = function (v, n) {v = toDate(v);if (v) {var t = new Date(v.get ...

  7. js数字三个加一个逗号

    toThousands(num) {const result = []; let counter = 0num = (num || 0).toString().split('')for (let i ...

  8. .NET中,在方法参数的类型前加一个OUT是做什么用的

    话说古时候,在一个名字叫C#的繁华的大城市里面,有两家珠宝加工店,一家叫ref,另外一家叫out. 有一天,有名字叫a和b的两个人每人都各带了一公斤黄金要加工首饰. a去了ref店,ref的掌柜告诉a ...

  9. html圆圈中间一个感叹号实现,一个圆圈加一个感叹号是什么标识?

    是汽车制动系统异常的意思. 圆圈里面一个感叹号就是手刹标志,如果是灯亮,则表示手刹在起作用.放到底则手刹不起作用,车车叫灯又亮就是手刹没有放到底,继续放就好了.手刹放下海量的话检查传感器,传感器坏掉也 ...

最新文章

  1. broker可以禁用吗 time_RuntimeBroker是什么进程,能禁用RuntimeBroker.exe进程么?
  2. java 运行环境变量_java 环境变量配置与第一个程序运行
  3. 组合破解windows域账号
  4. python生成簇_不调包用PYTHON写GMM(高斯混合模型)算法
  5. java如何关闭线程池_如何优雅的关闭Java线程池
  6. Ground Defense 模拟
  7. 已支持macOS Big Sur 的apple App更新列表
  8. 使用JSONObject toString后,会增加反斜杠转义符
  9. 指定selenium chrome下载文件路径
  10. 文章翻译软件-批量免费翻译软件支持各大翻译接口
  11. 音频算法工程师面试内容
  12. redis-trib.rb命令详解
  13. c语言 计算平均分
  14. mac允许安装任何来源的软件,命令,(记录下)
  15. html5制作毕业光盘,同学聚会的视频和照片编辑制作,最后刻录成光盘 每人一张(数据刻录)...
  16. PHP+SQLServer2005+Apache/系统DSN配置+ODBC查插删改
  17. 手把手体验远程开发,确实爽
  18. Inno Setup 系列之添加管理员权限
  19. smali-2.5.2.jar转dex
  20. EMQX 入门教程——导读

热门文章

  1. 安全狗服云PC端V2.5.1发布 助力服务器安全运维
  2. Android 百度地图 SDK v3.0.0 (一)
  3. mysql-cluster 安装篇(1)---简介
  4. vtkDataObject 与vtkImageData
  5. linux 双显卡 黑屏 amd,ubuntu上AMD显卡驱动黑屏问题的一种解决办法
  6. ftp服务器通常提供文件上传和,基于FTPClient的文件上传至Nginx服务器
  7. python新建文件夹口令_Python脚本破解压缩文件口令实例教程(zipfile)
  8. 旺旺上显示已上传服务器,在服务器上排除问题的头五分钟 | 旺旺知识库
  9. java 解析 cim e 模型 架包,基于JAVA平台的CIM模型潮流数据转换方法及装置与流程...
  10. 帝国php使用系统变量,帝国cms常用变量汇总