函数的作用域

函数的作用域

今天给大家分享一下函数里面关于作用域这块内容,它也是很重要的一块内容哦。

首先,我先来说一说什么是作用域。作用域就是一个变量可以生效的范围,一个变量他不是在所有的地方都可以使用的,而这个变量的使用范围就是它的作用域。

一、作用域分为全局作用域和局部作用域。

1.全局作用域:

全局作用域是最大的作用域,在全局作用域中定义的变量可以在任何地方使用。在一个页面打开的时候,浏览器会自动给我们生成一个全局作用域,这个作用域会一直存在,直到页面关闭,它才被销毁。

在这里呢,还有一种特殊情况,就是声明变量的时候没有使用var,

这是一种不规范的声明。如果一个局部里定义的变量,未用var声明,但它在全局都可以被访问,这样的变量叫伪全局变量。

2.局部作用域

局部作用域就是在全局作用域下又开辟出来一个相对较小的作用域,在局部作用域内定义的变量只能在它所存在的局部范围内使用。

在JS中只有函数能生成局部作用域,其他的都不可以。每一个函数,相当于一个作用域。

二、在两个作用域里变量的区别,即全局变量和局部变量的区别。

1.生命周期的不同

全局变量:生命周期和程序是同步的,程序不关闭,变量一直在;程序执行结束后,变量就被删除了。(在这里呢,还是建议大家,如果可以的话,少设计一点全局变量,因为全局变量过多的话,会让程序变得更重。)

局部变量:生命周期和函数是同步的,函数执行结束后,变量就被删除了。

2.命名空间的不同

全局变量的命名空间一个页面只有一个。

局部变量的命名空间是一个作用域一个。(可以使用匿名函数来解决局部变量命名空间问题)

Ps:简单的给大家介绍匿名函数的一种写法:

 (function(){})();

例如:
(function(){console.log(“你好,世界!”);})();

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值