在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ es Math對(duì)象的max方法的apply()方法

es Math對(duì)象的max方法的apply()方法

`var num=[1,2,3]
var themax=Math.max.apply(Math, num);`
這種寫法中:兩點(diǎn)疑問
1:apply()兩參數(shù)一個(gè)是在其中運(yùn)行函數(shù)的作用域,另一個(gè)是參數(shù)數(shù)組
而且max()函數(shù)默認(rèn)接受的是一串?dāng)?shù)值,但是我還是無法理解
傳入這個(gè)Math對(duì)象有什么用 默認(rèn)Math.max()代表Math對(duì)象內(nèi)的max()方法,不是一個(gè)意思嗎
這個(gè)數(shù)組在哪一步轉(zhuǎn)換為一串?dāng)?shù)值的?

2.當(dāng)我傳入的對(duì)象為null時(shí),運(yùn)行結(jié)果依然成立,為什么

回答
編輯回答
朕略傻

call和apply的區(qū)別知道吧
call(this, 1, 2, 3, ...);
apply(this, [1, 2, 3, ...]);
用apply就是為了把數(shù)組換成參數(shù)列表,第一個(gè)this的位置寫null更好,因?yàn)椴粫?huì)污染其他的this上下文環(huán)境,這個(gè)位置就是一個(gè)占位,沒有實(shí)際意義。
你想知道的底層原理需要看apply方法的源碼,那就不是javascript范疇的了,需要看開發(fā)源碼

2018年3月20日 10:25