js中预解析 作用域链

本文介绍JavaScript的预解析过程及其对代码执行的影响,并详细解释了作用域链的概念及其实现方式。

预解析/预编译
a:js解析代码分为2种。
1:首先预解析(叫编译过程)
2:在执行js代码(从上到下,从左到右)
b:预解析?
1:js解析代码的时候,会先提前读取带有关键字 var 和 function 的全局类型;

c:声明和定义?
	var num=12;
	在基本类型里面,声明在前,定义在后!(先声明后定义)
	function fun(){
		alert(1)
	}
	fun();
	对于函数来说,声明和定义同时执行。

2 函数的作用域链?

每一个函数都有自己的作用域链条,作用域链就是在内部查找一个变量属性,
内部有直接输出,内部没有会查找函数外是否有这个变量属性,函数外没有接着在整个
widow下查找,这样一层一层查找的顺序,就是作用域链!
举例:
var a=1;
function person(){
	var a=2;
	function p1(){
		var a=3;
		alert(a)
	}
	p1()
	
	function p2(){
		alert(a)
	}
	p2()
}
person()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值