JS-part11.2-自执行函数

Javascript

自执行函数

+ 函数调用的一种方式
   + 不会预解析, 当代码执行到它的时候, 预解析和调用同步完成
   + 以前的: function fn(){}, fn()
   + 语法:
     1. (function(){})()
     2. ~function(){}()
     3. !function(){}()
   + 一般的作用是单独书写 js 文件的时候使用
     => 为了保护变量不污染全局
     => 每一个 js 文件里面初始化, 使用一个自执行函数包裹
   + 一般涉及到跨文件使用的内容
     => 把需要别的文件使用的变量挂载在全局
<script src="./test.js"></script>
<script>
// console.log(num) // 04_自执行函数.html:28 Uncaught ReferenceError: num is not defined at 04_自执行函数.html:29
console.log(abc) // 200

        // JS代码不写分号的话, 每一行不能以 () [] '' 开头
        ;(function(a){
            console.log('你好世界')
            console.log(a)
        })(123)

        ~function(){
            console.log('我被执行了')
        }()

        !function(){
            console.log('我也被执行了')
        }()
</script>

test.js文件:

(function(){

    // code run here

    var num = 100

    console.log(num)  // 该变量 num 只能在本文件内使用, 无法跨文件用

    // 我需要跨文件使用的变量直接挂载在全局
    window.abc = 200
})()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值