使用prototype自定義數組方法

題目

如何實現下列代碼:
[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]

解決方法

使用array的prototype屬性,自定義duplicator()方法,js代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style></style>
  <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
 <script>
  Array.prototype.duplicator = function() {
    let s = this.concat(this)
    return s
  }
  let t = [1,2,3,4,5].duplicator()
  console.log(t)
</script>

</body>
</html>

在控制檯顯示效果如下:

這裏寫圖片描述

注意點

在書寫這段代碼時Array.prototype.duplicator注意不要添加任何括號,function 內部的this 指代調用這個方法的對象,即array.

發佈了47 篇原創文章 · 獲贊 32 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章