JS笔记:自调用函数

当我们写js文件的时候所有的文件都是在全局作用域中。

一个js文件中声明的变量或函数在另一个js文件中是可以访问的,但是当我们在当前js文件中声明了一个构造函数 fun,又在另一个js文件中声明了一个构造函数fun,因为我们将来项目有可能是由不同的人来写的,所以难免会遇到命名冲突的问题。

如果想要避免这种问题的话就要用到自调用函数:

    //自调用函数 -- 开启一个新的作用域,避免命名冲突.
    (function(){
      console.log('1');
    })()

自调用函数 -- 开启一个新的作用域,避免命名冲突.这样的话就可以把所有的代码放在里面了

(function(){
  function Fun(){
    this.print=function(){
      console.log("Hello world");
    }
  }
})();

var fun=new Fun();
fun.print();

 但是这时报错了,问题是因为我们开启了一个新的作用域,这个地方是局部作用域。         

局部作用域定义的函数 在外部是访问不到的,这时候就需要将Fun构造函数暴露给外部,让外部可以访问

(function(){
  function Fun(){
    this.print=function(){
      console.log("Hello world");
    }
  }
  //把Fun构造函数让外部可以访问
  window.Fun=Fun;
})();

var fun=new Fun();
fun.print();

这样就可以使用啦。 (提示:写多个自调用函数时,必须在自调用函数前加入分号)


每天进步一点点!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值