一個(gè)挺有意思的Javascript小問(wèn)題說(shuō)明
更新時(shí)間:2011年09月26日 22:11:58 作者:
目前為止,就我的猜測(cè),javascript執(zhí)行應(yīng)該是先做語(yǔ)法分析,然后順便分析完成了變量表(本地和全局)
先來(lái)看以下3段代碼
var firstName = "Mark";
(function DisplayFirstName() {
console.log(firstName);
})();//必然輸出 Mark
var lastName = "Aut";
(function DisplayLastName() {
var lastName = "Bru";
console.log(lastName);
})();//必然輸出 Bru, 本地作用域的優(yōu)先級(jí)高于全局作用域
//那么下面這段代碼呢?
var lastName = "Aut";
(function DisplayLastName() {
console.log(lastName);
var lastName = "Bru";
console.log(lastName);
})();//誰(shuí)能猜出結(jié)果是什么?
這個(gè)輸出的結(jié)果是:
LOG: undefined
LOG: Bru
這出乎了我的意料, 我原來(lái)以為應(yīng)該是 "Aut" 和 "Bru"的
我原來(lái)的理解是: 在程序第一個(gè)輸出lastName的時(shí)候, 程序沒有找到本地聲明的lastName變量,所以使用了全局的lastName定義, 第二次的時(shí)候才使用本地變量的值
(因?yàn)樵谖业母拍罾?javascript是解釋型語(yǔ)言,一句一句的......執(zhí)行)
看到這個(gè)結(jié)果,看來(lái)javascript的執(zhí)行并不都是順序的..
目前為止,就我的猜測(cè),javascript執(zhí)行應(yīng)該是先做語(yǔ)法分析,然后順便分析完成了變量表(本地和全局)
然后才開始順序執(zhí)行一行行腳本
還請(qǐng)各位javascript高手解惑
復(fù)制代碼 代碼如下:
var firstName = "Mark";
(function DisplayFirstName() {
console.log(firstName);
})();//必然輸出 Mark
var lastName = "Aut";
(function DisplayLastName() {
var lastName = "Bru";
console.log(lastName);
})();//必然輸出 Bru, 本地作用域的優(yōu)先級(jí)高于全局作用域
//那么下面這段代碼呢?
var lastName = "Aut";
(function DisplayLastName() {
console.log(lastName);
var lastName = "Bru";
console.log(lastName);
})();//誰(shuí)能猜出結(jié)果是什么?
這個(gè)輸出的結(jié)果是:
LOG: undefined
LOG: Bru
這出乎了我的意料, 我原來(lái)以為應(yīng)該是 "Aut" 和 "Bru"的
我原來(lái)的理解是: 在程序第一個(gè)輸出lastName的時(shí)候, 程序沒有找到本地聲明的lastName變量,所以使用了全局的lastName定義, 第二次的時(shí)候才使用本地變量的值
(因?yàn)樵谖业母拍罾?javascript是解釋型語(yǔ)言,一句一句的......執(zhí)行)
看到這個(gè)結(jié)果,看來(lái)javascript的執(zhí)行并不都是順序的..
目前為止,就我的猜測(cè),javascript執(zhí)行應(yīng)該是先做語(yǔ)法分析,然后順便分析完成了變量表(本地和全局)
然后才開始順序執(zhí)行一行行腳本
還請(qǐng)各位javascript高手解惑
相關(guān)文章
uniapp抖音小程序一鍵獲取用戶手機(jī)號(hào)的示例代碼
文章介紹了如何在uniapp抖音小程序中通過(guò)點(diǎn)擊按鈕一鍵獲取用戶手機(jī)號(hào),encryptedData和iv通過(guò)點(diǎn)擊按鈕回傳,后端部分通過(guò)解密獲取手機(jī)號(hào),感興趣的朋友一起看看吧2024-12-12
相關(guān)JavaScript在覽器中實(shí)現(xiàn)可視化的四種方式
這篇文章主要介紹了相關(guān)JavaScript在覽器中實(shí)現(xiàn)可視化的四種方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09
JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空
表單驗(yàn)證幾乎在每個(gè)需要注冊(cè)或者是登錄的網(wǎng)站都是必不可少,下面通過(guò)本篇文章給大家介紹JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空,涉及到j(luò)s表單驗(yàn)證實(shí)例相關(guān)知識(shí),對(duì)js表單驗(yàn)證實(shí)例代碼需要的朋友一起學(xué)習(xí)吧2016-01-01
微信小程序canvas開發(fā)水果老虎機(jī)的思路詳解
這篇文章主要介紹了微信小程序canvas開發(fā)水果老虎機(jī)的思路,本文通過(guò)思路代碼分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02

