javascript function 初探_第1頁
javascript function 初探_第2頁
javascript function 初探_第3頁
javascript function 初探_第4頁
javascript function 初探_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、The JavaScript函數(shù)Function Part11Content基本原理作用域scope閉包closure21.1 這是函數(shù)嗎?function(a,b) return a+b;31.2 函數(shù)是在定義時:函數(shù)名稱函數(shù)的預(yù)期參數(shù)函數(shù)體函數(shù)的作用域41.3 函數(shù)還是在執(zhí)行時參數(shù)對象callerthis51.2.1 函數(shù)名稱(function() alert()()var car = function()alert()function bingo()alert()var car = f

2、unction acar()alert()6 1.2.2 函數(shù)的預(yù)期參數(shù)function add(a,b) console.log(arguments.callee.length) /2console.log(add.length) /2add(1,2,3)function.length71.2 函數(shù)是在定義時:函數(shù)名稱函數(shù)的預(yù)期參數(shù)函數(shù)體函數(shù)的作用域8 1.3.1 參數(shù)對象argumentsfunction add(a,b) console.log(arguments.length) /3 console.log(arguments0) /1 console.log(argu

3、ments.callee = add) /trueconsole.log(add.length) /2add(1,2,3)9 1.3.2 callerfunction.callerfunction x(value) console.log(x.caller)function caller()x.call();var anotherCaller=function()x(); x();caller();anotherCaller();nullfunction caller() x.call(); function () x(); 101.3 函數(shù)還是在執(zhí)行時參數(shù)對象callerthis112.1作

4、用域符號被定義的區(qū)間包括局部變量,全局變量,函數(shù)參數(shù)和閉包變量總之,不用this就可以訪問的變量都是作用域中的變量作用域是鏈?zhǔn)降膙ar name = dog ,function callName(name)var name = cat alert(name)callName( bird ) / cat122.2作用域定義function mine(a,b)if(ab) var t=b-a return tmine(2,5) / 3c:函數(shù)開始c+:函數(shù),塊,類,命名空間java:函數(shù),塊js:函數(shù)內(nèi)部var name = dogfunction callName(name) alert(nam

5、e) var name = cat alert(name) callName()132.3作用域查找function factory() var name = dog;var intro = function()alert(I am + name);return intro;function app()var name = cat;var func = factory();func();app();argumentsargumentsname:dogintro:functionfactory:functionapp:function142.3作用域查找“JS中的函數(shù)運(yùn)行在它們被定義的作用域里,

6、而不是它們被執(zhí)行的作用域里.”JS權(quán)威指南153.1閉包 closurefunction x( value ) return function() return value;var fooa = x(5);var foob = x(8);console.log(fooa();console.log(foob();/output/5855 ?58 ?88 ?163.2閉包 定義如果某個作用域內(nèi)部有其他的作用域,則該作用域會被保留(即便該作用域內(nèi)部的代碼已經(jīng)執(zhí)行完成),直到內(nèi)部的函數(shù)也被釋放173.3閉包的作用function x( value ) return function() return

7、 value;type = “dog”var intro=function()var sound=“”if(type = “dog”) sound=“wa.wanf”;else if(type = “cat”) sound=“miao.”;intro = x(sound);return xtype = “dog”var intro=function()var sound=“”if(type = “dog”) sound=“wa.wanf”;else if(type = “cat”) sound=“miao.”;return x183.4閉包的危害function()var a,b,c,d,e,f,g;var dom/do stuffdom.onclick=function(e)console.log(e.target)function()var a,b,c,d,e,f,g;var dom/do stuffdom.onclick=domClick;function domC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論