web前端工程师面试题总结(1)作用域,作用域链和this指向

本文总结了web前端工程师面试中常见的作用域和this指向问题。作用域是一个函数在注册时形成的词法作用域对象,用于查找变量。this的指向在不同情况下有所不同:一般函数中在非严格模式下指向window,在严格模式下为undefined;由调用对象决定;构造函数中指向实例对象;通过call/apply/bind动态绑定。ES6的箭头函数不默认绑定this,其值取决于外部环境。
摘要由CSDN通过智能技术生成


前言

web前端工程师面试题总结(1)


一、作用域

什么是作用域:一个函数在注册的阶段经过词法分析形成的作用域对象。
作用:函数在执行所使用的变量都要从这个ao对象上找。

代码如下(示例):
在这里插入图片描述
函数在执行的时候分为两步

1.词法分析
	1>.函数在执行的时候函数内部生成一个活动空对象active object(AO)
		ao = {}
	2>.函数是否有参数,如果有参数会在ao对象上声明一个属性,属性键就是形参,实参作为属性的值
		ao = {age:5}
	3>.函数内是否又var声明 (如果内部有var声明,会在ao对象上形成键值对,以变量名作为键,值为undefinde。
		没有就略过。注意:如果ao对象上已经存在该属性,不会对ao对象做任何修改)
		ao = {age:5}
	4>.函数内是否有子函数声明 (如果有子函数,在ao对象上添加一个键值对名,会以函数名作为键,函数体作为值。
		没有就略过。注意:如果说函数名已经存在,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值