1. 程式人生 > 其它 >JavaScript預解析

JavaScript預解析

技術標籤:JavaScript前端js

1.易錯:

f1();
console.log(c); 
console.log(b); 
console.log(a); 
function f1() {
	//相當於var a = 9; b = 9; c = 9; b和c直接賦值,沒有宣告,當全域性變數看
	//易混淆:集體宣告 var a = 9, b = 9, c = 9;
	var a = b = c = 9; 
	console.log(a); 
	console.log(b); 
	console.log(c);
}

執行順序:

function f1() {
	var a;
	a = b =
c = 9; console.log(a); console.log(b); console.log(c); } f1(); console.log(c); console.log(b); console.log(a);

執行結果:
在這裡插入圖片描述

2.比較

2.1

fn();
function fn() {
	console.log('列印');
}

執行順序:

function fn() {
	console.log('列印');
}
fn();

執行結果:
在這裡插入圖片描述

2.2

fn();
var fn = function() {
	console.log('想不到吧');
}

執行順序:

var fn;
fn();
var fn = function() {
	console.log('想不到吧');
}

執行結果:

在這裡插入圖片描述