欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javascript变量作用域预解析

程序员文章站 2022-03-18 19:15:03
...

javascript当中预解析比较坑的地方;
1.javascript解析代码的时候,会分为两个部分,第一个部分为预解析,第二个部分为开始从头到尾执行代码。
预解析三点:

  1. 所有声明为var的变量并且赋值,会将var 变量名提前到作用域最上面。
	console.log(c);
	var c=0;

转换为

	var c;
	console.log(c);
	c=0;

只声明为定义,所以输出结果为undefinded

  1. 所有声明为function函数的命名函数,会将命名函数提前到调用它的函数之前
	c();
	function c(){
	console.log("函数里面的代码");
	}

转换为

	function c(){
	console.log("函数里面的代码");
	}
	c();

3.如果同时有var变量和function函数,则var变量提升在function函数上面

	console.log(c);
	var c=0;
	function c(){
	console,log("c里面的函数");

转换为

	var c;
	function c(){
	console.log("c里面的函数");
	}
	console.log(c);
	c=0;