版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、 認(rèn)識(shí) JavaScriptJavaScript 被認(rèn)為是客戶(hù)端“腳本”,它不常叫“語(yǔ)言”,言外之意是比較簡(jiǎn)單 但是深入了解之后 你會(huì)發(fā)現(xiàn) 簡(jiǎn)單的外表下 蘊(yùn)藏著豐富的內(nèi)涵。JavaScript 是由 Netscape(網(wǎng)景)提出并發(fā)展,它起初名為“l(fā)ivescript”,后從角度考慮更名為“javascript”,但它和 java 沒(méi)有直接頂多是 js 被期望發(fā)展成 java 那樣面向?qū)ο蟮恼Z(yǔ)言(基于對(duì)象)?,F(xiàn)在 JavaScript 標(biāo)準(zhǔn)由 ECMA(European Computer Manufactures Assiocation)制定和維護(hù),因此也叫“ECMAScript”,它是包
2、含了網(wǎng)景的 Javascript 和微軟的 Jscript,最新的 js 版本是 ES6(ECMAScript6.0)。作為客戶(hù)端腳本的 JavaScript 常用于網(wǎng)頁(yè)瀏覽器的開(kāi)發(fā),然則它的設(shè)計(jì)卻是一種通用性的腳本語(yǔ)言,可以被嵌入任何應(yīng)用,例如嵌入 falsh 腳本化 falsh player 嵌入 applet 腳本化 java。l作為瀏覽器腳本的 Javascript 具體實(shí)現(xiàn)表單驗(yàn)證 JS 誕生的直接網(wǎng)頁(yè)前端動(dòng)態(tài)效果開(kāi)發(fā) 用來(lái)實(shí)現(xiàn)用戶(hù)和瀏覽器交互 提升用戶(hù)體驗(yàn)網(wǎng)頁(yè)游戲開(kāi)發(fā) 替代 flash(ActionScript 3.0)相較于 flash, JS 在網(wǎng)頁(yè)的支持度更高(無(wú)需安裝插件)
3、、資源開(kāi)銷(xiāo)少、加載速度快不支持 flash。交互lAjax 異步服務(wù)器請(qǐng)求 實(shí)現(xiàn)前服務(wù)端處理 NodeJS 采用 google V8 引擎、瀏覽器 javascript 實(shí)現(xiàn)所需的技術(shù)js語(yǔ)法(語(yǔ)言本身):變量、數(shù)據(jù)類(lèi)型、運(yùn)算符、函數(shù)、系統(tǒng)函數(shù)等網(wǎng)頁(yè)中的應(yīng)用:DOM、BOM、編程等Ajax 請(qǐng)求:DOM、CSS、XMLHttpRequest復(fù)雜功能效果實(shí)現(xiàn)時(shí)的面向?qū)ο缶幊蹋好嫦驅(qū)ο笳Z(yǔ)法 類(lèi)、構(gòu)造函數(shù)、封裝、繼承、靜態(tài)等二、 JS 代碼運(yùn)行環(huán)境js 代碼是通過(guò)直接嵌入頁(yè)面中的,一個(gè)頁(yè)面中可以有多段定義的代碼片段 它們既相互關(guān)聯(lián) 又保持(角度不同)關(guān)聯(lián)性:一段 script 中的內(nèi)容(變量、函數(shù))
4、 可以在另一段 script 中使用性:一段 script 運(yùn)行發(fā)生錯(cuò)誤 不影響另一 script 的執(zhí)行1全局執(zhí)行環(huán)境js 在運(yùn)行時(shí) 首先會(huì)創(chuàng)建一個(gè)全局執(zhí)行環(huán)境 這個(gè)全局環(huán)境就是定義一個(gè)全局對(duì)象,頁(yè)面中所有的內(nèi)容(不同的 script 中的內(nèi)容) 都是這個(gè)全局對(duì)象的屬性,在瀏覽器 javascript 中(嵌入網(wǎng)頁(yè)的 js)這個(gè)全局對(duì)市昌平區(qū)建材城西路龍辦公樓一層:象是 window。這就是說(shuō)不同的 script 中的內(nèi)容都同屬一個(gè) window 對(duì)象因此他們的以共享。市昌平區(qū)建材城西路龍辦公樓一層:2語(yǔ)法和詞法分析js 常被認(rèn)為是“解釋性”腳本語(yǔ)言,它是用來(lái)“”的,但事實(shí)上它也是一門(mén)“編譯
5、語(yǔ)言”,你無(wú)需手動(dòng)編譯。對(duì)頁(yè)面中的多個(gè) script 代碼片段,js 會(huì)首先一段要執(zhí)行的代碼 然后編譯該段代碼 最后執(zhí)行。l一段 script 代碼l編譯該段代碼編譯代碼的工作就是 將 JS 轉(zhuǎn)化成機(jī)器可執(zhí)行的語(yǔ)言(二進(jìn)制或匯編),具體:詞法分析、語(yǔ)法分析、代碼合并和優(yōu)化、生成代碼,例如通過(guò)詞法分析 將 var bar = “some text” 分解為 var 語(yǔ)法、bar 變量、=運(yùn)算、“some text”值接下來(lái) 語(yǔ)法分析 得出代碼的抽象語(yǔ)法樹(shù)(Abstruct Syntax Tree 源代碼 js 和目標(biāo)代碼 c 直接橋梁)最后生成目標(biāo)代碼(機(jī)器指令) 你要記住的是 這里只完成了 變
6、量和函數(shù)的定義 而不執(zhí)行(執(zhí)行需要上下文的環(huán)境 只有運(yùn)行才能知道)var bar; function foo() l執(zhí)行并輸出結(jié)果執(zhí)行編譯目標(biāo)代碼 生成結(jié)果 具體的工具就是 執(zhí)行語(yǔ)句、變量賦值、函數(shù)調(diào)用.bar = “some text”;foo();l下一段要執(zhí)行的 script 代碼 以此往復(fù)一個(gè)有意思的現(xiàn)象是 函數(shù)的定義在編譯階段就完成了 也就意味著 在執(zhí)行時(shí) 它總是的 而無(wú)論其在頁(yè)面中的出場(chǎng)順序,這個(gè)叫“函數(shù)的預(yù)加載”.(熟悉)市昌平區(qū)建材城西路龍辦公樓一層:var bar = “some text”; function foo() console.log(“hello php57”)
7、;3運(yùn)行時(shí)錯(cuò)誤js 代碼運(yùn)行時(shí)的錯(cuò)誤分為編譯錯(cuò)誤和執(zhí)行錯(cuò)誤,編譯時(shí)的錯(cuò)誤主要是語(yǔ)法錯(cuò)誤(SyntaxError),而執(zhí)行時(shí)因?yàn)槭苌舷挛腻e(cuò)誤的比較多 有錯(cuò)誤(ReferenceError)、類(lèi)型錯(cuò)誤(TypeError)、范圍錯(cuò)誤(RangeError)無(wú)論哪種錯(cuò)誤 它們都是 Error 的子類(lèi)。類(lèi)似于 PHP 中的異常 Exception,Exception 下有各種異常(例如 PDOException)。當(dāng)發(fā)生編譯錯(cuò)誤碼不執(zhí)行而執(zhí)行時(shí)的錯(cuò)誤會(huì)影響錯(cuò)誤之后的的輸出而不影響前面代碼的執(zhí)行。市昌平區(qū)建材城西路龍辦公樓一層:總之 無(wú)論發(fā)生何種錯(cuò)誤 一段代碼發(fā)生了錯(cuò)誤不影響另一段代碼的運(yùn)行。l使用異常
8、處理錯(cuò)誤(掌握)JS 代碼運(yùn)行時(shí)的錯(cuò)誤 在頁(yè)面不顯示 不像 PHP 會(huì)輸出提示。但是 它會(huì)自動(dòng)拋出一個(gè)錯(cuò)誤對(duì)象(Error)如果要處理錯(cuò)誤 你只需要使用 try/catch 來(lái)捕獲該錯(cuò)誤對(duì)象 就類(lèi)似于 PHP 中的異常處理。當(dāng)然你也可以自定義錯(cuò)處處理場(chǎng)景使用 thrownew Error(提示)手動(dòng)拋出錯(cuò)誤。三、 變量和作用域(熟悉)變量是數(shù)據(jù)的容器,JS 中變量使用 var,與變量密切相關(guān)的是它的作用域。作用域是指變量作用的區(qū)域 它分為全局和局部的作用域。定義在程序頂層(不屬于某個(gè)函數(shù))中的變量是全局變量,函數(shù)體內(nèi)的變量為局部變量。全局變量在整個(gè)頁(yè)面中都有效,局部變量只能做作用于函數(shù)體內(nèi) 當(dāng)
9、函數(shù)(執(zhí)行市昌平區(qū)建材城西路龍辦公樓一層:完畢、調(diào)用結(jié)束)時(shí) 函數(shù)體內(nèi)的狀態(tài)會(huì)被銷(xiāo)毀掉(變量被刪除了) 因此無(wú)法在外部到。l變量也可不用 varvar的變量會(huì)成為全局變量即使是定義在函數(shù)體內(nèi)。l使用 var但是未賦值的變量 初始化值是 undefined市昌平區(qū)建材城西路龍辦公樓一層:l沒(méi)有塊狀作用域4作用域鏈當(dāng)代碼較復(fù)雜 嵌套層次較多時(shí) 我們需要深入的理解變量的作用域。前面我們提到 全局變量是全局對(duì)象的屬性 那么局部變量呢 它是一個(gè)叫做激活對(duì)象(也叫調(diào)用對(duì)象是函數(shù)調(diào)用時(shí)產(chǎn)生的對(duì)象)的屬性。組成變量作用域的是一個(gè)對(duì)象列表或?qū)ο箧溄小白饔糜蜴湣?。在程序頂層中變量作用域鏈為全局?duì)象,定義在函數(shù) f
10、 體內(nèi)的變量作用域鏈為 f 的激活對(duì)象 = 全局對(duì)象,函數(shù)體內(nèi)嵌套的函數(shù) g 的作用域?yàn)?g 的激活對(duì)象 =函數(shù) f 的激活對(duì)象 = 全局對(duì)象。當(dāng)變量 x 值時(shí) JS 會(huì)沿著它當(dāng)前所在位置的作用域鏈的頭部開(kāi)始查找如果找到則返回結(jié)果如果沒(méi)有則繼續(xù)往下查找直到根部(根沒(méi)有則是 undefined)。市昌平區(qū)建材城西路龍辦公樓一層:g 激活對(duì)象:屬性 z 值為 3f 激活對(duì)象:屬性 y 值為 2var x = 1;var y = 100; function f() var y = 2; console.log(z); function g() console.log(x,y); var z = 3;
11、 g();f();全局對(duì)象:屬性 x 值為 1四、 數(shù)據(jù)類(lèi)型(掌握)不同的數(shù)據(jù)有著不同的類(lèi)型 決定著它們使用它們不同,JS 中的數(shù)據(jù)類(lèi)型可以分為“基本類(lèi)型”和“引用類(lèi)型”,像布爾值、字符串、數(shù)值、null、undefined 等是基本類(lèi)型數(shù)據(jù),數(shù)組、函數(shù)和對(duì)象是類(lèi)型?;绢?lèi)型的數(shù)據(jù)較小 或者 占據(jù)固定的內(nèi)存空間,例如 一個(gè)數(shù)值使用 8 個(gè)字節(jié)而布爾值只要一位 如果我們都使用 8 個(gè)字節(jié) 那么就可以任何數(shù)據(jù)。但是類(lèi)型則不一樣 它沒(méi)有固定的數(shù)目 可能很大,例如 數(shù)組中可以有任意多的元素、對(duì)象可能包含任意多的屬性、對(duì)應(yīng)的代碼片段可能也很長(zhǎng)。當(dāng)對(duì)象較大 且 數(shù)量較多時(shí) 就會(huì)顯著占用用戶(hù)的內(nèi)存空間。因此
12、 為了避免產(chǎn)生多余的對(duì)象 在賦值時(shí) 采用傳地址操作。5基本類(lèi)型數(shù)據(jù)使用基本類(lèi)型數(shù)據(jù) 在賦值時(shí) 是創(chuàng)建值的副本 它和原件是在存放在不同的內(nèi)存地址中 因此 互不影響。市昌平區(qū)建材城西路龍辦公樓一層:l基本類(lèi)型數(shù)據(jù)的封裝對(duì)象很多時(shí)候 我們?cè)诓僮骰绢?lèi)型數(shù)據(jù)時(shí) 會(huì)用到它的一些“”例如 查看字符串的長(zhǎng)度 str.lengt、截取一段字符串 str.substr()。那么問(wèn)題來(lái)了 作為基本類(lèi)型的數(shù)據(jù) 它怎么會(huì)像對(duì)象那樣有屬性和呢?JS 中除了有布爾值、字符串、數(shù)值等基本類(lèi)型數(shù)據(jù)外 還支持他們的封裝對(duì)象(String、Boolean、Number),當(dāng)把一個(gè)基本類(lèi)型數(shù)據(jù) 用做類(lèi)型 JS 會(huì)隱式的創(chuàng)建它的封裝
13、對(duì)象 然后調(diào)用相應(yīng)的結(jié)果 用銷(xiāo)毀 是一個(gè)很精致的模型。返回6類(lèi)型數(shù)據(jù)使用類(lèi)型數(shù)據(jù) 在賦值時(shí)是了對(duì)方的地址也就是說(shuō) 它們彼此共用一段內(nèi)存空間無(wú)論誰(shuí)修改了這段地址中的值 都會(huì)影響另一個(gè)變量。市昌平區(qū)建材城西路龍辦公樓一層:l對(duì)象和對(duì)象操作從數(shù)學(xué)的角度出發(fā)對(duì)象是命名的數(shù)據(jù)的集合 在數(shù)學(xué)中集合使用”JS 中的對(duì)象 也是使用用來(lái)操作數(shù)據(jù)。在面向?qū)ο缶幊讨袑?duì)象是屬性和的集合,屬性用來(lái)數(shù)據(jù),創(chuàng)建對(duì)象兩種方式 產(chǎn)生的效果是一樣的沒(méi)有區(qū)分直接量的設(shè)置更簡(jiǎn)便靈活 可以在簡(jiǎn)單功能實(shí)現(xiàn)時(shí)使用 對(duì)象的轉(zhuǎn)化對(duì)象是復(fù)合類(lèi)型的數(shù)據(jù) 它不僅有值 更有結(jié)構(gòu) 因此不直接使用、當(dāng)把一個(gè)對(duì)象用于字符串環(huán)境中時(shí) JS 會(huì)隱式的調(diào)用它的
14、toString時(shí) JS 會(huì)隱式的調(diào)用它的 valueOf獲取對(duì)象的字符串形式值 然后運(yùn)算。當(dāng)把一個(gè)對(duì)象用于數(shù)學(xué)環(huán)境中獲取對(duì)象的數(shù)字形式值 然后運(yùn)算。通常對(duì)象有自帶的 toString 和valueOf 你也可以自定義該。市昌平區(qū)建材城西路龍辦公樓一層:l數(shù)組和數(shù)組操作數(shù)組是編號(hào)的數(shù)據(jù)的集合它和對(duì)象很相似事實(shí)上 JS 中的數(shù)組本質(zhì)上就是對(duì)象。創(chuàng)建數(shù)組關(guān)聯(lián)索引數(shù)組JS 本質(zhì)上沒(méi)有關(guān)聯(lián)索引數(shù)組但是支持下標(biāo)為字符串的數(shù)組元素也就相當(dāng)于是關(guān)聯(lián)索引的數(shù)組。市昌平區(qū)建材城西路龍辦公樓一層:在打印數(shù)組和計(jì)算數(shù)組長(zhǎng)度時(shí)都不包含關(guān)聯(lián)索引部分的元素?cái)?shù)組JS 原則上也是不支持?jǐn)?shù)組的使用 但是數(shù)組元素值可以還是一個(gè)數(shù)
15、組就相當(dāng)于一個(gè)數(shù)組 數(shù)組遍歷可以使用 for 循環(huán)數(shù)組的下標(biāo) 然后去數(shù)組元素 下標(biāo)的范圍是0, arr.length-1。該數(shù)字下標(biāo)元素 且要求數(shù)組元素是連續(xù)的 否則 會(huì)產(chǎn)生 undefined 值。只能打印出所有的市昌平區(qū)建材城西路龍辦公樓一層:五、 運(yùn)算符和表(掌握)ltypeof使用 typeof 查看變量的數(shù)據(jù)類(lèi)型 它是一個(gè)運(yùn)算符 不是函數(shù) 當(dāng)查看一個(gè)表來(lái)像個(gè)函數(shù)。類(lèi)似于 PHP 中的 gettype()函數(shù)時(shí) 會(huì)使用()使之看起ldelete使用 delete 刪除一個(gè)對(duì)象的屬性或者數(shù)組元素的類(lèi)似于 PHP 中 unset。除此以外 它還可以用來(lái)刪除一個(gè)未用 var的變量。市昌平區(qū)建
16、材城西路龍辦公樓一層:linstanceofinstanceof 用來(lái)檢測(cè)一個(gè)對(duì)象是否是某個(gè)類(lèi)的實(shí)例注意不要取檢測(cè)是否是 Object 的實(shí)例(都是 true)l用來(lái)in對(duì)象中是否有某個(gè)屬性市昌平區(qū)建材城西路龍辦公樓一層:lwith 語(yǔ)句變量有作用域當(dāng)作用域比較長(zhǎng)的時(shí)候可以使用 with 修改作用域鏈的頭簡(jiǎn)化代碼輸入量lfor(var p in o) 語(yǔ)句for/in 用來(lái)查看對(duì)象的屬性(),定義一個(gè)變量 p 用來(lái)接收 每次從對(duì)象 o 循環(huán)出來(lái)的屬性,接下來(lái)就可以通過(guò) p 檢索每個(gè)屬性 屬性值可以使用 op來(lái)獲取 而不是 o.p;市昌平區(qū)建材城西路龍辦公樓一層:l| 運(yùn)算或運(yùn)算執(zhí)行時(shí) 當(dāng)表兩邊
17、都為 false 時(shí) 返回 false,有一個(gè)為 true 就返回 true。在實(shí)際執(zhí)行時(shí) 當(dāng)左邊為 true 時(shí) 直接返回左邊的值 不用往后執(zhí)行。如果左邊為 FALSE 呢IF 結(jié)構(gòu)IF (左邊) var result = 左邊 else var result = 右邊和 var result = 左邊 | 右邊右邊代表最終的結(jié)果相當(dāng)于這樣的市昌平區(qū)建材城西路龍辦公樓一層:六、 函數(shù)函數(shù)是定義一次 但是可以反復(fù)使用多次的代碼片段,在實(shí)際開(kāi)發(fā)中 使用函數(shù) 可以提高工作效率 同時(shí)模塊化的組成 使得代碼更加整潔。7定義函數(shù)l使用 function一個(gè)函數(shù)function f() return ;l
18、作為數(shù)據(jù)類(lèi)型的函數(shù)(掌握)JS 中的函數(shù) 是一個(gè)數(shù)據(jù)類(lèi)型,對(duì)象類(lèi)型的數(shù)據(jù)和普通的數(shù)據(jù)值一樣它可以被賦值給變量、數(shù)組元素作為對(duì)象的屬性、函數(shù)參數(shù)等。市昌平區(qū)建材城西路龍辦公樓一層:l使用構(gòu)造函數(shù)函數(shù)是一個(gè)對(duì)象類(lèi)型的數(shù)據(jù),它所屬的類(lèi)是 Function ,因此可以使用 new Function 來(lái)創(chuàng)建一個(gè)函數(shù)實(shí)例。l函數(shù)體內(nèi)的 this 說(shuō)明作為函數(shù) 哪怕有嵌套函數(shù) 函數(shù)體內(nèi)的 this 總是指向 window 對(duì)象市昌平區(qū)建材城西路龍辦公樓一層:作為對(duì)象的函數(shù)函數(shù)體內(nèi)的 this指向當(dāng)前調(diào)用的對(duì)象誰(shuí)調(diào)用它就指向誰(shuí)8函數(shù)參數(shù)JS 中的函數(shù)參數(shù)可以不嚴(yán)格的匹配 當(dāng)調(diào)用時(shí)傳入的實(shí)參個(gè)數(shù)實(shí)參個(gè)數(shù)少于形參
19、 在函數(shù)體內(nèi)的形參值為 undefined。多于定義的形參多出的值會(huì)被忽略當(dāng)市昌平區(qū)建材城西路龍辦公樓一層:larguments 對(duì)象(熟悉)函數(shù)體內(nèi)標(biāo)識(shí)符 arguments 有著特殊的含義 它是一個(gè)類(lèi)似數(shù)組的對(duì)象 使用數(shù)字下標(biāo)實(shí)參的值 此外還有一些其他的屬性 例如 length 表示實(shí)參個(gè)數(shù)、callee 表示替代當(dāng)前正在調(diào)用的函數(shù)名。arguments 對(duì)象可以有效的幫助我們處理可變參數(shù)(參數(shù)長(zhǎng)度不固定 沒(méi)法定義形參接收實(shí)參)函數(shù),這種情況下 就不定義形參 直接使用 arguments 獲取所有的實(shí)參值。例如 定義一個(gè) max 函數(shù)max(1,2)max(1,2,3)max(1,2,3,
20、4)計(jì)算一組數(shù)的最大值實(shí)際調(diào)用時(shí)會(huì)有不同個(gè)數(shù)的參數(shù)傳入。注意:argument 只能在函數(shù)體內(nèi)使用函數(shù)體外無(wú)意義 會(huì)報(bào)錯(cuò)(未定義 ReferenceError:arguments is not市昌平區(qū)建材城西路龍辦公樓一層:defined)。9函數(shù)對(duì)象llength 屬性函數(shù)是對(duì)象,它有屬性和,函數(shù)的 length 屬性是查看函數(shù)定義的形參的個(gè)數(shù)??梢越柚搶傩詠?lái)函數(shù)調(diào)用時(shí)的參數(shù)是否匹配。lprototype 屬性函數(shù)的 prototype構(gòu)造函數(shù)(類(lèi))的原型對(duì)象,原型對(duì)象中的以被它的實(shí)例對(duì)象繼承。市昌平區(qū)建材城西路龍辦公樓一層:lcall 和 apply現(xiàn)有 A 對(duì)象中的后刪除,它的過(guò)程如下
21、:m(A.m) B 對(duì)象想要臨時(shí)使用 就是給 B 對(duì)象添加一個(gè) m然后 調(diào)用完畢之A 的 m給 B 添加 A 中的 mB.n = A.m;/B/調(diào)用執(zhí)行 獲取結(jié)果B.n(1.2);delete B.n;這個(gè)過(guò)程 可以使用 call 和 apply 來(lái)操作 實(shí)際上 call 和 apply 是將體內(nèi)的調(diào)用對(duì)象由 A 換成了 B 也就是改變了體內(nèi) this 的指向。市昌平區(qū)建材城西路龍辦公樓一層:A.m.call(B,1,2) 或 A.m.apply(B,1,2);call 和 apply 的使用案例:可以使用 call 和 apply 轉(zhuǎn)變函數(shù)調(diào)用時(shí)的傳參形式Math.max(1,2,3);va
22、r arr = 1,2,3;Math.max.apply(null, arr);使用 call 和 apply 給一個(gè)容器綁定多個(gè)樣式設(shè)置的函數(shù)也就是將函數(shù)體內(nèi)的 this 指向容器市昌平區(qū)建材城西路龍辦公樓一層:10作用域和閉包閉包是函數(shù)的一種特性 一種現(xiàn)象,它不指代某個(gè)具體的語(yǔ)法、定義、概念等,要理解閉包就必須要清楚函數(shù)的作用域。l詞法作用域和激活對(duì)象JS 中的函數(shù)是通過(guò)詞法(語(yǔ)法、定義)劃分作用域的 而不是動(dòng)態(tài)創(chuàng)建作用域 這就是說(shuō)函數(shù)是運(yùn)行在它的作用域 而不是執(zhí)行時(shí)的作用域,例如:當(dāng)嵌套函數(shù) 從改變 但是作用域不變。函數(shù)中被導(dǎo)出時(shí) 它的執(zhí)行地發(fā)生了接下來(lái) 在調(diào)用函數(shù)時(shí) JS 會(huì)首先將作用域設(shè)為到作用域鏈的頭部。函數(shù)體內(nèi)的局部變量、起作用的那個(gè)作用域 然后創(chuàng)建一個(gè)激活對(duì)象添加的形參、嵌套的函數(shù) 都是激活對(duì)象的屬性。市昌平區(qū)建材城西路龍辦公樓一層:l閉包的成因、原理上面的例子 證實(shí)了函數(shù)是運(yùn)行在它的作用域 而不是執(zhí)行時(shí)的作用域。那么當(dāng)嵌套函數(shù)被導(dǎo)出市昌平區(qū)建材城西路龍辦公樓一層:全局環(huán)境f 函數(shù)定義作用域:執(zhí)行作用域:f 激活對(duì)象 = 全局對(duì)象g 函數(shù)定義作用域:執(zhí)行作用域:g 激活對(duì)象 = f 激活對(duì)象= 全局對(duì)象f 激活對(duì)象 =全局對(duì)象全局對(duì)象var x = 1;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年域名購(gòu)買(mǎi)、遷移與全球托管委托服務(wù)協(xié)議3篇
- 2024年環(huán)保節(jié)能型氣體產(chǎn)品銷(xiāo)售合同范本3篇
- 2024年度代付款與保險(xiǎn)產(chǎn)品合作合同3篇
- 2024年版婚前合同范本:夫妻財(cái)產(chǎn)分配與權(quán)益保障一
- 玻璃幕墻課程設(shè)計(jì)
- 2024年蘇州寫(xiě)字樓租賃合同3篇
- 系統(tǒng)軟件課程設(shè)計(jì) 英文
- 2024年文化創(chuàng)意產(chǎn)業(yè)園區(qū)員工創(chuàng)意項(xiàng)目出差合同3篇
- 2024年未成年人監(jiān)護(hù)責(zé)任保險(xiǎn)理賠及服務(wù)保障協(xié)議3篇
- 煤礦開(kāi)采課程設(shè)計(jì)報(bào)告
- 銀行信訪(fǎng)工作培訓(xùn)課件
- 北京市西城區(qū)2023-2024學(xué)年部編版七年級(jí)上學(xué)期期末歷史試卷
- 廣東省博物館
- 徐州市2023-2024學(xué)年九年級(jí)上學(xué)期期末道德與法治試卷(含答案解析)
- 農(nóng)業(yè)信息化實(shí)現(xiàn)農(nóng)業(yè)現(xiàn)代化的數(shù)字化轉(zhuǎn)型
- 《義務(wù)教育道德與法治課程標(biāo)準(zhǔn)(2022年版)》
- 學(xué)校食堂廚房規(guī)范化操作程序
- 醫(yī)保飛檢工作方案
- 招投標(biāo)基礎(chǔ)知識(shí)講解
- 瀝青路面彎沉溫度修正
- 軟裝公司商業(yè)計(jì)劃書(shū)
評(píng)論
0/150
提交評(píng)論