千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

window 這是網(wǎng)頁中最根本元素,所有的內(nèi)容都是window下的內(nèi)容 ,通??梢允÷詗indow a=1 這種寫法屬于早期JavaScript不太成熟時,沒有變量這個概念,會將所有描述賦值放在window對象中 window.a=1; 只有當(dāng)運(yùn)行到賦值時才會給window對象上創(chuàng)建屬性a,之前是不會創(chuàng)建任何變量空間的,所以在這句話之前打印 a,就會報錯 a is not defined a沒有定義 變量可以重復(fù)定義
var b=2; 延續(xù)了早期放入在window對象下的特征,使用var定義的變量有一個特征叫做預(yù)解析 預(yù)解析 在script標(biāo)簽剛開始時,還沒有運(yùn)行到對應(yīng)定義變量的位置,就會在內(nèi)存棧中開辟一個存儲空間,并且起名 叫做變量名,但是并沒有給這個空間中存儲任何值,這時候如果獲取這個空間中存儲的值時,因為沒有任何值 所以會返回一個undefined(未定義) 變量可以重復(fù)定義
let c=3是ES6中推出的新的定義變量 當(dāng)沒有執(zhí)行到這句話時,它不會存在,并且在執(zhí)行這句話之前打印會報錯Cannot access 'c' before initialization 不能c初始化之前調(diào)用它,不牽扯預(yù)解析的概念,沒有使用let定義之前是不能調(diào)用的 不能重復(fù)定義 用let定義的變量并不是放在window下的,所以不能使用window.c獲取 let可以作為塊語句的作用范圍內(nèi)
標(biāo)簽: