第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么時候使用 call 或者在 Javscript 中使用 call 有什么好處?

什么時候使用 call 或者在 Javscript 中使用 call 有什么好處?

手掌心 2022-12-09 13:44:32
我正在瀏覽 Ramda.JS 的源代碼,它是一個面向 Javascript 開發(fā)人員的功能庫。這幾行代碼讓我有點(diǎn)困惑。var sort = _curry2(function sort(comparator, list) {  return Array.prototype.slice.call(list, 0).sort(comparator);});我的問題是Array.prototype.slice.call(list, 0)應(yīng)該與 完全相同list.slice(0),但第二種方式要短得多為什么用.call這里,為什么不用第二種方式呢?在這里使用 call 有什么好處嗎?
查看完整描述

3 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個贊

值得注意的是,當(dāng)不是數(shù)組/字符串并且沒有方法時,使用Array.prototype.slice.call(arr, 0)overarr.slice()不會拋出錯誤。arrarrslice

也許他們想要一個更健壯的實(shí)現(xiàn),因此使用第一種方法。


查看完整回答
反對 回復(fù) 2022-12-09
?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個贊

從簽名我可以說 list.slice()[0] 與 Array.prototype.slice.call(list, 0) 完全不同,在前面的語句中你首先調(diào)用 list.slice 并訪問它的第 0 個索引元素,在后面您正在調(diào)用 Array.slice 的語句將上下文作為列表的值傳遞,將 0 作為參數(shù)傳遞給切片函數(shù)。



查看完整回答
反對 回復(fù) 2022-12-09
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個贊

在我看來,Array.prototype.slice.call支持 Array-Like Objects,比如 NodeList 集合。


const divs = document.querySelectorAll('div')

divs.slice(0)

//Uncaught TypeError: divs.slice is not a function

Array.prototype.slice.call(divs, 0)

//(222) [div.ng-toast.ng-toast--right.ng-toast--bottom.ng-toast--animate-fade, ……


查看完整回答
反對 回復(fù) 2022-12-09
  • 3 回答
  • 0 關(guān)注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號