<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!--
1.名词解释
* 全称:Immediately-Invoked Function Expression
2.作用
* 隐藏(局部)实现
* 不会影响 var 全局命名空间,减少冲突
* 用它来编写js模块
3.补充
* 在使用IIFE的时候,要习惯性的在前面加上";",因为在下面这种情况时
console.log("18")
(function(){
alert('nihao')
})()
如果不加;则会吧两条语句看成一个整体,会报错。
正确的写法应该是
console.log("18")
;(function(){
alert('nihao')
})()
-->
<script>
;(function (){ //匿名函数自调用(IIFE)
var a='hello,world'
console.log(a)
})()
var a=18
;(function(){
var a=18
function test(){
console.log(++a)
}
window.$=function(){ //向外暴露一个全局函数
return{
test:test
}
}
})()
$().test() //$是一个函数,$执行后返回的是一个对象。所以可以通过$()调用test()
</script>
</body>
</html>
06.IIFE——js高级
最新推荐文章于 2024-09-16 08:47:17 发布