在這個課題開始之前我們先做一些基礎知識的講解
1、在頂級的區域內宣告的變數為 window級別的變數。 也就是說var a=100 等價於 window.a=100;
2、區域性的重新宣告變數沒有意義。var a=100;var a;後面的將沒有意義。
3、在有引數函式的定義中 function abc(p1){} abc(1),在函式執行中,先構建,在執行,會有兩個步驟,所以說當函式執行之前構建過程中,將臨時生成** var p1=1;將來一切不賦值的宣告將變得沒有意義。
var p1;//沒有意義
var p1=2;//有意義。
全域性作用域和區域性作用域
全域性作用域:整個js執行環境
區域性作用域:通過建立乙個函式就開闢出了乙個區域性作用域
全域性變數和 區域性變數
全域性變數:在全域性作用域都可以訪問的變數
區域性變數:只能在當前區域性作用域訪問的
變數宣告提公升:
如果變數宣告在函式裡面,則將變數宣告提公升到函式的開頭
如果變數宣告是乙個全域性變數,則將變數宣告提公升到全域性作用域的開頭
變數執行(搜尋)機制:
首先看,有沒有區域性作用域
如果有,查詢是不是這個區域性作用域定義的變數
如果不是,尋找上一級作用域,直到找到全域性作用域
如果全域性作用域也找不到這個變數,這個變數就是未定義的 undefined
第一題:
var a=1;function
test()
test();
根據變數宣告提公升和變數搜尋機制,函式test()應為
functiontest()
第二題:
var b=2;function
test2()
test2();
任何通過附加在window上的變數都相當於宣告乙個全域性變數,或者是給全域性變數賦值
第三題:
c=5;function
test3()
test3();
根據變數宣告提公升和變數搜尋機制:
c=5;//宣告乙個全域性變數c
function
test3()
test3();
一言既出,駟馬難追
一言既出,駟馬難追 2012年01月12日 女兒電子琴十級考過之後,就經常向我提出要買架鋼琴,我想到她都是小學高年級的學生了,平時功課也很緊張,現在買鋼琴完全沒必要,何況電子琴和鋼琴差不多,只是力度有所不同,而且鋼琴 昂貴,所以一直都未答應。前段時間樓上不斷傳來鋼琴聲,又刺激了女兒的神經,於是又嚷著...
創業老闆不能犯的十種錯誤 面子問題「一言堂」
一 哥們式合夥,仇人式散夥在中國的股份制企業中最常見模式是 公司創辦之初,幾個朋友合夥以感情和義氣去處理相互關係,制度和股權或者沒有確定,或者有而模糊。企業做大後,制度變得重要,利益開始惹眼,於是 排座次 分金銀 論榮辱 企業不是劍拔弩張內耗不止,便是梁山英雄流雲四散。二 盲目崇拜社會關係 關係推動...