最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript之函數(shù)進(jìn)階詳解

 更新時(shí)間:2021年12月02日 15:41:47   作者:維生素D沒(méi)有用  
這篇文章主要為大家介紹了javascript函數(shù)進(jìn)階,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>

函數(shù)定義方式

function fn(){}//命名函數(shù)
 
var fun=function(){}//匿名函數(shù)
 
// new fn=new Funcion("參數(shù)1","參數(shù)2","函數(shù)體"),很少用。
//所有函數(shù)都是Function的實(shí)例對(duì)象(函數(shù)也是對(duì)象)
var fn=new Funcion("a","b","console.log(a+b)")
console.log(fn instanceof Object)//true

函數(shù)的調(diào)用(6種)

?

?

?

this指向問(wèn)題

1.普通函數(shù):window

2.對(duì)象方法:實(shí)例對(duì)象obj1

3.構(gòu)造函數(shù):實(shí)例對(duì)象。原型對(duì)象里面的this指向的也是 ldh這個(gè)實(shí)例對(duì)象

4.綁定事件函數(shù):事件的調(diào)用者button1

5.定時(shí)器:window

6.立即執(zhí)行函數(shù):window

改變函數(shù)內(nèi)部this指向:call(),apply(),bind(),

?

?

?如果有的函數(shù)我們不需要立即調(diào)用,但是又想改變這個(gè)函數(shù)內(nèi)部的this指向此時(shí)用bind

?

?

嚴(yán)格模式

?為整個(gè)腳本開(kāi)啟或?yàn)楹瘮?shù)開(kāi)啟:“use strict”;

?嚴(yán)格模型的語(yǔ)法規(guī)范:

1.變量使用前必須聲明

2.我們不能隨意刪除已經(jīng)聲明好的變量

3.嚴(yán)格模型下的全局作用域中函數(shù)中的this是undefined

4.構(gòu)造函數(shù)不加new調(diào)用,this指向undefined,給undefined賦值會(huì)報(bào)錯(cuò)(。以前指向window,相當(dāng)于給window添加屬性了)

5.定時(shí)器this還是指向window 。事件、對(duì)象還是指向調(diào)用者。

6.參數(shù)不能重名?

7.函數(shù)必須聲明在頂層.新版本的JavaScript 會(huì)引入“塊級(jí)作用域”(ES6 中已引入)。為了與新版本接軌,不允許在非函數(shù)的代碼塊內(nèi)聲明函數(shù)。

高階函數(shù)

定義:高階函數(shù)是對(duì)其他函數(shù)進(jìn)行操作的函數(shù),它接收函數(shù)作為參數(shù)(回調(diào)函數(shù))或?qū)⒑瘮?shù)作為返回值輸出。

閉包

閉包( closure )指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中變量的函數(shù)。簡(jiǎn)單理解就是,一個(gè)作用域可以訪問(wèn)另外一個(gè)函數(shù)內(nèi)部的局部變量。

閉包的作用:延伸變量的作用范圍

閉包練習(xí):

已知:綁定事件、定時(shí)器都是異步操作,不會(huì)立即執(zhí)行。

(function(i){...})(i) 立即執(zhí)行函數(shù)會(huì)立即執(zhí)行,參數(shù)傳給尾部的小括號(hào),function里面的小括號(hào)會(huì)再次接收這個(gè)參數(shù)。立即執(zhí)行函數(shù)也稱(chēng)作小閉包,里面的所有函數(shù)都可以訪問(wèn)它內(nèi)部變量。

(1)點(diǎn)擊輸出當(dāng)前索引號(hào)(面試常見(jiàn))

?(2)延遲三秒輸出<li>中內(nèi)容?

?(3)

?

?閉包的思考:

?

遞歸:函數(shù)里面調(diào)用自己,需要有結(jié)束條件

深拷貝與淺拷貝:

1.淺拷貝:只拷貝最上面一層,深層的對(duì)象只拷貝了地址,所以原深層數(shù)據(jù)改變會(huì)引起拷貝過(guò)來(lái)的深層數(shù)據(jù)改變

Object.assign(objNew,objOld)

2.深拷貝:把所有深層數(shù)據(jù)值全部拷貝到新對(duì)象里面。新舊兩個(gè)對(duì)象的數(shù)據(jù)修改互不影響。

相關(guān)文章

最新評(píng)論

吉隆县| 阆中市| 南陵县| 海盐县| 博湖县| 莫力| 兴城市| 襄樊市| 甘孜县| 霍城县| 三原县| 宾川县| 体育| 景谷| 霍林郭勒市| 克什克腾旗| 曲阜市| 渝中区| 大竹县| 信阳市| 德安县| 镇赉县| 司法| 嘉义市| 龙里县| 十堰市| 汝南县| 交口县| 和田市| 合江县| 射洪县| 扶绥县| 高青县| 普陀区| 漳州市| 高阳县| 奇台县| 确山县| 河间市| 巫山县| 崇左市|