函数作用域以及同名标识符提升问题

本文探讨了JavaScript中作用域的规则,包括函数内部和外部的标识符访问权限。总结了两个主要规则,并强调了变量和函数的提升现象。同时,讲解了执行流程中的形参和实参处理过程,以及同名标识符提升时的处理方式。

作用域:标识符(变量和函数名)在哪些地方能够被访问 那些地方就是这个标识符的作用域

这些地方就是指的 函数的代码块内部和函数的代码块外部

规则1:函数内部的代码可以访问函数内部的标识符,也可以访问函数外部的标识符(副作用)

规则2:函数外部可以访问函数外部的标识符,但是不能访问函数内部的标识符

总结:通常函数内部的标识符为局部标识符

var fn=;var关键字 fn就是标识符

案例

 

接下来的案例是隐式提升

总结:每一个作用域在运行时,js引擎会先把作用域内部的关键字隐式提前扫描 并声明

函数也会隐式提升:变量值提升声明,函数提升的是整个函数体

此外对象内部的方法不会提升

 同名标识符提升问题  变量函数同名时 先变量后函数

 形实函运:它是指 在一个作用域的代码运行的时候 js引擎会执行代码的过程有一个执行流程

这个流程是:先隐式提升当前作用域内部对的所有形参变量和局部变量

再把实参赋值给形参变量

然后执行函数的隐式提前声明

在按照代码顺序运行代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值