html作用域在哪,web前端:JavaScript作用域

作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

一、作用域:变量可以起作用的范围。有全局作用域和局部作用域两种。

二、全局变量和局部变量

全局变量:在任何地方都能访问到的变量,对应全局作用域;网页内所有脚本和函数都能够访问全局变量。

局部变量:只在固定代码段中可访问到的变量,最常见的例如函数内部,对应局部作用域。

注意:1.在Javascript中,对象和函数也是变量;

2.未使用var声明的变量是全局变量,不推荐使用;

3.变量退出作用域之后会销毁,全局变量关闭网页或浏览器才会销毁。

4.全局作用域形成了完整的Javascript环境。在html中,全局作用域是window,所有全局变量均属于window对象。

5.除非有意为之,否则请勿创建全局变量。全局变量(或函数)能够覆盖window变量(或函数)。任何函数,包括window对象,能够覆盖你的全局变量和函数。

三、块级作用域

任何一对花括号中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,这就是块级作用域。在es5之前没有块级作用域的概念,只有函数作用域。

四、作用域链

只有函数可以制造作用域结构,那么只要是有代码,至少有一个作用域,那就是全局作用域。凡是代码中有函数,那么这个函数就构成另一个作用域,叫1级作用域。这时候全局作用域又叫0级作用域,如果函数中还有函数,那么就以此类推,2级,3级....没有限制。

将这样的所有的作用域列出来,可以有一个结构:函数内部指向函数外的链式结构,就称作作用域链。

对于对象而言(其他也是一样的),在main函数中,对象的作用域为他所在的最近的一对花括号内。在后花括号处析构函数被调用;全局的对象的作用域为声明之后的整个文件,析构函数在最后被调用。另外,临时产生的对象在使用完后立即会被析构。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值