版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JavaScript5-2預(yù)解析函數(shù)聲明整體保留JavaScript 預(yù)解析函數(shù)聲明整體保留預(yù)解析函數(shù)聲明整體保留JavaScriptl JavaScript的作用域l 域:空間、范圍、區(qū)域、l 例如:寫js必須放在script里,css放在style里l 作用:讀和寫(在一個(gè)范圍內(nèi))l 瀏覽器有專門讀js的解析器,當(dāng)讀到script標(biāo)簽時(shí)開始解析:第1步(預(yù)解析)-找到var和function,但變量設(shè)置未定義,函數(shù)會(huì)整體取到作為字符串,重復(fù)保留有內(nèi)容的(函數(shù),兩個(gè)函數(shù)保留后面的);第2步-逐行讀代碼,讀到一個(gè)變量但是仍是第1步得到的數(shù)據(jù)時(shí),會(huì)變成未定義,讀到表達(dá)式(= + - * / %
2、+ - !參數(shù),就是能變化值的),因此彈出undefind 逐行執(zhí)行遇到函數(shù)跳過 調(diào)用的時(shí)候才會(huì)發(fā)生JavaScriptl JavaScript的作用域l 例如:alert(a); var a =1;和alert(a); a =1;的區(qū)別l 一個(gè)面試題(分析一下都彈出什么):l alert(a);l var a=1;l alert(a);l function a三alert(2);l alert(a);l var a = 3;l alert(a);l function a三alert(4);l alert(a);lJavaScriptl JavaScript的作用域l 在script里定義的變
3、量是全局變量和函數(shù)l 而兩個(gè)script是2個(gè)塊,每個(gè)塊的預(yù)解析獨(dú)立進(jìn)行l(wèi) 如果上面彈出下面塊的內(nèi)容會(huì)報(bào)錯(cuò)l 如果下面彈出上面塊的內(nèi)容會(huì)正常執(zhí)行l(wèi) 一個(gè)函數(shù)的內(nèi)部也是一個(gè)域l 一個(gè)著名的題:l var a=1;l function fn1三alert(a);var a=2;l fn1三;l alert(a);lJavaScriptl JavaScript的作用域l 一個(gè)著名的題(續(xù)):l var a=1;l function fn1三alert(a);a=2;l fn1三;l alert(a);l 作用域鏈:沒有找到變量時(shí)由里到外,自上到下l var a=1;l function fn1(a)
4、alert(a);a=2;l fn1三;l alert(a);l 參數(shù)就是局部變量a-var aJavaScriptl JavaScript的作用域l 一個(gè)著名的題(再續(xù)):l var a=1;l function fn1三alert(a);a=2;l fn1(a);l alert(a);l 函數(shù)內(nèi)的var定義一個(gè)局部變量,沒有辦法從外面找到函數(shù)里面的東西l 如:function fn1三var a = abc;l fn1三; /找不到JavaScriptl JavaScript的作用域l 如果想要獲取函數(shù)里的內(nèi)容的辦法1(全局變量):l var str = ;l function fn1三v
5、ar a = abc; str = a;l fn1三; alert(str);l 如果想要獲取函數(shù)里的內(nèi)容的辦法2(局部函數(shù)調(diào)用):l function fn1三var a = abc; fn2(a);l function fn2(str)alert(str); JavaScriptl JavaScript的作用域l if三和for三的花括號(hào)不是域l 因此在alert一個(gè)if里的函數(shù)應(yīng)該一起解讀出來,但是在FF里會(huì)出現(xiàn)錯(cuò)誤,不能解析if或其他里面,應(yīng)該把函數(shù)寫在外面l 類似的window.onload = fucntion三,里也是一個(gè)域,里面的變量也是局部變量l 當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候,如果不是代碼寫錯(cuò)了,那就是代碼的解析機(jī)制想錯(cuò)了JavaScriptl JavaScript的作用域l 名字空間(命名空間)函數(shù)聲明 函數(shù)表達(dá)式l 全局變量會(huì)綁定到window上,不同的JavaScript文件如果使用了相同的全局變量,或定義了相同名字的頂層函數(shù),會(huì)造成命名沖突,并且很難發(fā)現(xiàn)。減少?zèng)_突的一個(gè)方法是把所有變量和函數(shù)全部綁定到一個(gè)全局變量中。例如:l var MYAPP = ;/ 唯一的全局變量MYAPPl MYAPP.name = myapp;/ 其他變量l MYAPP.version = 1.0;/ 其他變量l MYAPP.foo = function 三 return foo;/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版木制家具生產(chǎn)加工木工合作合同范本4篇
- 2025版委托檢測(cè)合同書-光纖網(wǎng)絡(luò)性能檢測(cè)技術(shù)3篇
- 二零二五版水產(chǎn)品電商平臺(tái)大數(shù)據(jù)分析服務(wù)合同2篇
- 2025年度母子公司新能源儲(chǔ)能技術(shù)研發(fā)合作合同3篇
- 《吳組緗天下太平》課件
- 2025版互聯(lián)網(wǎng)醫(yī)療投資項(xiàng)目融資借款合同3篇
- 《物價(jià)上漲時(shí)政》課件
- 2025年度木工工具租賃與施工服務(wù)承包合同4篇
- 2025年兒童玩具連鎖店加盟合同
- 2025年分期付款家具購買合同
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級(jí)英語下冊(cè)寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 幼兒園籃球課培訓(xùn)
- 【企業(yè)盈利能力探析的國內(nèi)外文獻(xiàn)綜述2400字】
- 統(tǒng)編版(2024新版)七年級(jí)《道德與法治》上冊(cè)第一單元《少年有夢(mèng)》單元測(cè)試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
評(píng)論
0/150
提交評(píng)論