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

js中apply和Math.max()函數(shù)的問(wèn)題及區(qū)別介紹

 更新時(shí)間:2018年03月27日 11:51:07   投稿:mrr  
這篇文章主要介紹了js中apply和Math.max()函數(shù)的問(wèn)題,本文給大家?guī)?lái)兩種答案,每一種答案給大家介紹的非常詳細(xì),在文章底部給大家提到了js中Math.max.apply和Math.max的區(qū)別,感興趣的朋友一起看看吧

下面給大家介紹js中apply和Math.max()函數(shù)的問(wèn)題,具體內(nèi)容如下所示:

var arr=[1,3,6,3,7,9,2];
console.log(Math.max.apply(null,arr));

一直搞不懂為什么這樣可以算出一個(gè)數(shù)組的最大值?一直想不明白,請(qǐng)js高手指教一下。

答案1

Function.apply()是JS的一個(gè)OOP特性,一般用來(lái)模擬繼承和擴(kuò)展this的用途,對(duì)于上面這段代碼,可以這樣去理解:

XXX.apply是一個(gè)調(diào)用函數(shù)的方法,其參數(shù)為:apply(Function, Args),

Function為要調(diào)用的方法,Args是參數(shù)列表,當(dāng)Function為null時(shí),默認(rèn)為上文,

Math.max.apply(null, arr)

可認(rèn)為是

apply(Math.max, arr)

然后,arr是一個(gè)參數(shù)列表,對(duì)于max方法,其參數(shù)是若干個(gè)數(shù),即

Math.max(a, b, c, d, ...)

當(dāng)使用apply時(shí),把所有參數(shù)加入到一個(gè)數(shù)組中,即

arr = [a, b, c, d, ...]

代入到原式,

Math.max.apply(null, [a, b, c, d, ...])

實(shí)際上等同于

Math.max(a, b, c, d, ...)

在此處,使用apply的優(yōu)點(diǎn)是在部分JS引擎中提升性能。

答案2

Math.max()方法,支持傳遞多個(gè)參數(shù),比如:Math.max(1,4,2,3,7,5,6)

但是它不支持直接傳遞一個(gè)數(shù)組作為參數(shù),比如:Math.max(new Array(1,4,2,3,7,5,6))。

這里,只要我們有方法把數(shù)組,一個(gè)一個(gè)拆分開來(lái),傳遞到Math.max()方法中,就實(shí)現(xiàn)了傳遞數(shù)組的方法。

所有函數(shù)都有apply(作用域鏈,參數(shù))這個(gè)方法,這個(gè)函數(shù)的“參數(shù)”,接收一個(gè)數(shù)組,并且是將數(shù)組中的每個(gè)值,分開來(lái),傳遞給調(diào)

補(bǔ)充:

Javascript中Math.max.apply和Math.max的區(qū)別

Javascript中的Math.max方法可以求出給定參數(shù)中最大的數(shù)。

> Math.max('1','2','3.1','3.2')
< 3.2
> Math.min(1,0,-1)
< -1 

但如果是數(shù)組,就不能這樣調(diào)用了。

此時(shí)就用到了apply方法:

apply 方法 (Function) (JavaScript)
調(diào)用函數(shù),并用指定對(duì)象替換函數(shù)的 this 值,同時(shí)用指定數(shù)組替換函數(shù)的參數(shù)。
apply([thisObj[,argArray]])
thisObj
  可選。 要用作 this 對(duì)象的對(duì)象。
argArray

  可選。 要傳遞到函數(shù)的一組參數(shù)。
巧妙地使數(shù)組也可以調(diào)用Math.max和Math.min。

> Math.max.apply(null, ['1','2','3.1','3.2'])
< 3.2
> Math.min.apply(null, [1,0,-1])
< -1

總結(jié)

以上所述是小編給大家介紹的js中apply和Math.max()函數(shù)的問(wèn)題及區(qū)別介紹,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 關(guān)于JavaScript的一些看法

    關(guān)于JavaScript的一些看法

    最近在寫一個(gè)JS代碼壓縮工具的時(shí)候,感受到JS的強(qiáng)大,同時(shí)也讓我頭疼的一陣子(誰(shuí)叫我是JS菜鳥)。
    2009-05-05
  • javascript 網(wǎng)站常用的iframe分割

    javascript 網(wǎng)站常用的iframe分割

    就是一個(gè)頁(yè)面使用兩個(gè)iframe來(lái)調(diào)用內(nèi)容,實(shí)現(xiàn)頁(yè)面導(dǎo)航,更容易控制,可控制性好
    2008-06-06
  • 判斷文件是否正在被使用的JS代碼

    判斷文件是否正在被使用的JS代碼

    這篇文章主要介紹了判斷文件是否正在被使用的JS代碼,有需要的朋友可以參考一下
    2013-12-12
  • 淺談bootstrap使用中的一些問(wèn)題以及解決過(guò)程

    淺談bootstrap使用中的一些問(wèn)題以及解決過(guò)程

    下面小編就為大家?guī)?lái)一篇淺談bootstrap使用中的一些問(wèn)題以及解決過(guò)程。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • 整理關(guān)于Bootstrap過(guò)渡動(dòng)畫的慕課筆記

    整理關(guān)于Bootstrap過(guò)渡動(dòng)畫的慕課筆記

    這篇文章主要為大家整理了關(guān)于Bootstrap動(dòng)畫過(guò)渡的慕課筆記,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 微信小程序多音頻播放進(jìn)度條問(wèn)題

    微信小程序多音頻播放進(jìn)度條問(wèn)題

    小程序的音頻組件居然沒(méi)有進(jìn)度控制的功能,需要我們自己實(shí)現(xiàn),下面腳本之家小編給大家?guī)?lái)了微信小程序多音頻播放進(jìn)度條問(wèn)題,感興趣的朋友一起看看吧
    2018-08-08
  • js中DOM三級(jí)列表(代碼分享)

    js中DOM三級(jí)列表(代碼分享)

    本篇文章主要介紹了js中DOM實(shí)現(xiàn)三級(jí)列表的代碼,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • JavaScript this關(guān)鍵字的深入詳解

    JavaScript this關(guān)鍵字的深入詳解

    這篇文章主要給大家介紹了關(guān)于JavaScript this關(guān)鍵字的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法

    ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法

    這篇文章主要介紹了ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法,實(shí)例分析了ztree的方法transformToArray使用技巧,需要的朋友可以參考下
    2015-02-02
  • 一文詳解如何在項(xiàng)目中和平時(shí)練習(xí)中應(yīng)用es6語(yǔ)法

    一文詳解如何在項(xiàng)目中和平時(shí)練習(xí)中應(yīng)用es6語(yǔ)法

    ES6是JavaScript的一個(gè)版本,因?yàn)槲覀兦懊嬗玫降膙ue默認(rèn)使用ES6語(yǔ)法開發(fā),所以我們?cè)谶@一節(jié)補(bǔ)充ES6的知識(shí)點(diǎn),下面這篇文章主要給大家介紹了關(guān)于如何在項(xiàng)目中和平時(shí)練習(xí)中應(yīng)用es6語(yǔ)法的相關(guān)資料,需要的朋友可以參考下
    2022-11-11

最新評(píng)論

莲花县| 朝阳市| 伽师县| 海城市| 莒南县| 石首市| 同仁县| 额尔古纳市| 雅安市| 两当县| 九台市| 衡水市| 唐山市| 墨脱县| 祥云县| 庆阳市| 贡觉县| 南宁市| 马边| 华亭县| 眉山市| 武夷山市| 文成县| 靖远县| 长葛市| 宜君县| 青川县| 保定市| 易门县| 胶南市| 甘德县| 密山市| 青川县| 吉隆县| 吉水县| 开封县| 韶山市| 大港区| 海城市| 邵武市| 湖口县|