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