作用

自执行函数是函数的一种调用方式,一般单独写js文件时,为了保护变量不污染全局,可以把所有变量和函数写在这个自执行函数里,

例如: 

swiper.min.js库 的开始 就是 !function(){ 

jquery.js 的开始就是 (function

如果确实需要定义全局变量可以使用  window.abc=200 这种形式来挂载到全局

这样别的文件就可以调用 abc这个变量了


语法:

//以下三种语法任选其一即可  

(function(){})()  //左边第一个 () 作用是把函数声明包成一个整体 右边的括号作用是直接将其执行掉

~function(){}()    //效果和作用跟语法一 完全一致

!function(){}()   //效果和作用跟语法一 完全一致

//需要注意的是  第一种写法的上一句代码结尾必须加分号,否则这个括号会跟上一句连在一块解析了

例:

<script>
//语法一例子:
(function(a){
	console.log(a);  //输出123
})(123)

//语法二例子:
!function(str){
	console.log(str);  //输出结果 写法2
}("写法2") 

//语法三例子
~function(str){
	console.log(str);	//输出结果 写法3
}("写法3")


</script>

相关推荐

javascript变量声明之:let的使用 for循环中 var和let的区别

在for循环中 var 和 let的区别<script> //var方式的循环 for (var i=0; i<3; i++){ //要循环执行的代码 } console.log

javascript parseint()函数用法 - 字符串到整

定义和用法parseInt() 函数可解析一个字符串,并返回一个整数。当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。当忽略参数 ra

输入法管理器(iMM)函数(Windows cE 5.0)

imm好像要被弃用了 还是研究TSF输入法 吧 ,虽然没啥鸟用了 但是还是搬运一下下吧EnumRegisterWordProc此函数是与一起使用的应用程序定义的回调函数ImmEnumRegisterW

array.pop()和 array.shift()用法 javascript 组删除成员

方法:Array.pop() //移除数组中的最后一个元素并返回该元素。如果数组为空 则返回undefined Array.shift() //移除数组中的第一个元素并返回该元素例子:<scri

javascript设置网页 cookies和取cookies

//取cookies function getCookieByName(name){ for(item of document.cookie.split(';')){ if(it

html左右布 原生javascript实现分割条 可拖动分隔条

利用浮动+margin实现 左右布局 并用js实现可拖动分隔条 并用cookies记住宽度代码:<style> body{margin:0px;padding:0px;} .body{he

javascript取元素高度 宽度 水平位置 垂直位置

包括边框element.offsetHeight 返回元素的高度。 (包括边框)element.offsetWidth 返回元素的宽度。 element.offsetLeft 返回元素的水平

javascript array.slice() 方法

slice 方法 (Array)返回一个数组的一段。arrayObj.slice(start, [end])参数arrayObj必选项。一个 Array 对象。start必选项。arrayObj 中所

javascript原生js实现html中checkbox复选框按shift多选/选/反选 取勾选的id

纯原生JavaScript代码 无需任何库整理后 可以直接拿来用的代码<input type='checkbox' name='cateid[]'> <

javascript 解析json解析 遍历

代码:obj=JSON.parse('{"id":"8","home":"beijing","uid&