DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 一個挺有意思的Javascript小問題說明
一個挺有意思的Javascript小問題說明
編輯:關於JavaScript     
先來看以下3段代碼
復制代碼 代碼如下:
var firstName = "Mark";
(function DisplayFirstName() {
console.log(firstName);
})();//必然輸出 Mark
var lastName = "Aut";
(function DisplayLastName() {
var lastName = "Bru";
console.log(lastName);
})();//必然輸出 Bru, 本地作用域的優先級高於全局作用域
//那麼下面這段代碼呢?
var lastName = "Aut";
(function DisplayLastName() {
console.log(lastName);
var lastName = "Bru";
console.log(lastName);
})();//誰能猜出結果是什麼?

這個輸出的結果是:
LOG: undefined
LOG: Bru

這出乎了我的意料, 我原來以為應該是 "Aut" 和 "Bru"的
我原來的理解是: 在程序第一個輸出lastName的時候, 程序沒有找到本地聲明的lastName變量,所以使用了全局的lastName定義, 第二次的時候才使用本地變量的值
(因為在我的概念裡,javascript是解釋型語言,一句一句的......執行)

看到這個結果,看來javascript的執行並不都是順序的..
目前為止,就我的猜測,javascript執行應該是先做語法分析,然後順便分析完成了變量表(本地和全局)
然後才開始順序執行一行行腳本
還請各位javascript高手解惑
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved