一個挺有意思的Javascript小問題說明
更新時間:2011年09月26日 22:11:58 作者:
目前為止,就我的猜測,javascript執(zhí)行應(yīng)該是先做語法分析,然后順便分析完成了變量表(本地和全局)
先來看以下3段代碼
var firstName = "Mark";
(function DisplayFirstName() {
console.log(firstName);
})();//必然輸出 Mark
var lastName = "Aut";
(function DisplayLastName() {
var lastName = "Bru";
console.log(lastName);
})();//必然輸出 Bru, 本地作用域的優(yōu)先級高于全局作用域
//那么下面這段代碼呢?
var lastName = "Aut";
(function DisplayLastName() {
console.log(lastName);
var lastName = "Bru";
console.log(lastName);
})();//誰能猜出結(jié)果是什么?
這個輸出的結(jié)果是:
LOG: undefined
LOG: Bru
這出乎了我的意料, 我原來以為應(yīng)該是 "Aut" 和 "Bru"的
我原來的理解是: 在程序第一個輸出lastName的時候, 程序沒有找到本地聲明的lastName變量,所以使用了全局的lastName定義, 第二次的時候才使用本地變量的值
(因為在我的概念里,javascript是解釋型語言,一句一句的......執(zhí)行)
看到這個結(jié)果,看來javascript的執(zhí)行并不都是順序的..
目前為止,就我的猜測,javascript執(zhí)行應(yīng)該是先做語法分析,然后順便分析完成了變量表(本地和全局)
然后才開始順序執(zhí)行一行行腳本
還請各位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)先級高于全局作用域
//那么下面這段代碼呢?
var lastName = "Aut";
(function DisplayLastName() {
console.log(lastName);
var lastName = "Bru";
console.log(lastName);
})();//誰能猜出結(jié)果是什么?
這個輸出的結(jié)果是:
LOG: undefined
LOG: Bru
這出乎了我的意料, 我原來以為應(yīng)該是 "Aut" 和 "Bru"的
我原來的理解是: 在程序第一個輸出lastName的時候, 程序沒有找到本地聲明的lastName變量,所以使用了全局的lastName定義, 第二次的時候才使用本地變量的值
(因為在我的概念里,javascript是解釋型語言,一句一句的......執(zhí)行)
看到這個結(jié)果,看來javascript的執(zhí)行并不都是順序的..
目前為止,就我的猜測,javascript執(zhí)行應(yīng)該是先做語法分析,然后順便分析完成了變量表(本地和全局)
然后才開始順序執(zhí)行一行行腳本
還請各位javascript高手解惑
相關(guān)文章
Javascript實現(xiàn)Web顏色值轉(zhuǎn)換
這篇文章主要介紹了Javascript實現(xiàn)Web顏色值轉(zhuǎn)換,需要的朋友可以參考下2015-02-02原生JavaScript實現(xiàn)todolist功能
本篇文章給大家介紹了通過原生JavaScript實現(xiàn)todolist功能相關(guān)知識點,對此有需要的朋友可以學(xué)習(xí)下。2018-03-03JS Array.slice 截取數(shù)組的實現(xiàn)方法
這篇文章主要介紹了JS Array.slice 截取數(shù)組的實現(xiàn)方法,因為我們需要控制一下長度,需要的朋友可以參考下2016-01-01JS實現(xiàn)文字鏈接感應(yīng)鼠標(biāo)淡入淡出改變顏色的方法
這篇文章主要介紹了JS實現(xiàn)文字鏈接感應(yīng)鼠標(biāo)淡入淡出改變顏色的方法,實例分析了javascript操作鼠標(biāo)事件及css樣式的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02JavaScript數(shù)組reduce()方法的語法與實例解析
js函數(shù)中有三個在特定場合很好用的函數(shù):reduce(),map(),filter(),這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組reduce()方法的相關(guān)資料,需要的朋友可以參考下2021-07-07js實現(xiàn)卡片式項目管理界面UI設(shè)計效果
這篇文章主要介紹了js實現(xiàn)卡片式項目管理界面UI設(shè)計效果,該UI設(shè)計中,將各個項目以卡片的方式堆疊排列在屏幕上,當(dāng)點擊了其中的某個項目的時候,該項目圖片會全屏放大,向下滾動鼠標(biāo)可以看到該項目的介紹信息,需要的朋友可以參考下2015-12-12