課程
/前端開發(fā)
/JavaScript
/JavaScript深入淺出
arr.join("_")與Array.prototype.join.call(arr,"_")有區(qū)別嗎
2017-10-04
源自:JavaScript深入淺出 5-5
正在回答
由圖可以看出,兩個方法是相等的,注意我用的是嚴(yán)格相等,但是當(dāng)我用time去檢查時發(fā)現(xiàn),在原型上調(diào)用的的方法效率大大提高。所以就性能而言,一般使用原型調(diào)用。
第一個是把數(shù)組轉(zhuǎn)化為字符串的方法,第二個是把字符串轉(zhuǎn)化為數(shù)組吧。。。。。。我是這樣區(qū)分滴,不知準(zhǔn)確不
后者是指定的對象上沒有join()方法,所以指定到Array.prototype 原型 ,使用call為其添加join方法,
通俗的講 就是你沒有這個技能,但是我(call)教授這個技能,你就有了。 小白理解,如有錯誤,請諒解指點(diǎn)
arr.join這調(diào)用是錯誤的吧,-_-||,我測試了一下,是不行的。
Array.prototype.join.call(arr,"_")調(diào)用的是數(shù)組對象上的方法。
你可以試一下:
<script type="text/javascript">
var i='afhf';
console.log(i.join('-'));//顯示i.join不是一個方法
var p='join' in String.prototype;//在字符串對象上也沒找到j(luò)oin方法
console.log(p);
</script>
結(jié)果是一樣的。我覺得應(yīng)該是一樣的,arr.join調(diào)用的時候,其實在查找join方法的時候,也是在原型鏈上進(jìn)行查找,在Array.prototype上找到j(luò)oin以后,進(jìn)行調(diào)用。所以我覺得應(yīng)該是一樣的。
舉報
由淺入深學(xué)習(xí)JS語言特性,且解析JS常見誤區(qū),從入門到掌握
3 回答get與set的區(qū)別
1 回答bind,call,apply,的作用有區(qū)別嗎?
2 回答對象的class屬性如何理解,與typeof有何區(qū)別?
4 回答老師,這里的Object.creat和new有什么區(qū)別嗎
5 回答typeof和toString有什么區(qū)別
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-10-03
由圖可以看出,兩個方法是相等的,注意我用的是嚴(yán)格相等,但是當(dāng)我用time去檢查時發(fā)現(xiàn),在原型上調(diào)用的的方法效率大大提高。所以就性能而言,一般使用原型調(diào)用。
2017-11-21
第一個是把數(shù)組轉(zhuǎn)化為字符串的方法,第二個是把字符串轉(zhuǎn)化為數(shù)組吧。。。。。。我是這樣區(qū)分滴,不知準(zhǔn)確不
2017-10-22
后者是指定的對象上沒有join()方法,所以指定到Array.prototype 原型 ,使用call為其添加join方法,
通俗的講 就是你沒有這個技能,但是我(call)教授這個技能,你就有了。 小白理解,如有錯誤,請諒解指點(diǎn)
2017-10-09
arr.join這調(diào)用是錯誤的吧,-_-||,我測試了一下,是不行的。
Array.prototype.join.call(arr,"_")調(diào)用的是數(shù)組對象上的方法。
你可以試一下:
<script type="text/javascript">
var i='afhf';
console.log(i.join('-'));//顯示i.join不是一個方法
var p='join' in String.prototype;//在字符串對象上也沒找到j(luò)oin方法
console.log(p);
</script>
2017-10-04
結(jié)果是一樣的。我覺得應(yīng)該是一樣的,arr.join調(diào)用的時候,其實在查找join方法的時候,也是在原型鏈上進(jìn)行查找,在Array.prototype上找到j(luò)oin以后,進(jìn)行調(diào)用。所以我覺得應(yīng)該是一樣的。