js基础~作用域

作用域是代码中变量和函数生效的范围,分为全局作用域和局部作用域。全局变量在整个脚本中都可访问,而局部变量只在函数内部有效。作用域链决定了如何查找变量,预解析则涉及变量和函数声明的提升,使得它们在代码执行前被处理。函数提升优先于变量提升,特别是当函数和变量同名时,function声明会覆盖var声明。
摘要由CSDN通过智能技术生成

什么是作用域?

浏览器在解析代码的时候,我们代码的名字不会一直可用或有效,代码名字生效的范围就是作用域

 全局作用域--所有代码可运行的环境(script双标签)或者一个单独的js文件

 局部作用域---ES5中函数花括号的区域

 全局变量和局部变量

在全局作用域下声明的变量,并且全局变量在全局可用(包括局部)

局部:在局部作用域中生明的变量,只能在局部使用,不能再全局使用

 

作用域链

变量通过作用域向上查找的线路,或者是变量向上查找的机制

预解析---变量的提升

当浏览器解析代码的时候,在当前作用域下,js代码还没有被执行,会默认将带有var和function关键字声明的变量或者函数,将变量存放到临时内存中,并且提升到当前作用域的最顶端,赋值为undefined,当遇到=这种赋值表达式时会被重新赋值

 函数提升

var

 function

 ***如果函数和变量重名的话

***用var声明的函数,都是变量的提升
***用function声明的函数,会以function提升优先

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值