當(dāng)前位置:首頁 > IT技術(shù) > Web編程 > 正文

js高級---函數(shù)的prototype屬性
2021-09-11 10:28:28

1.?函數(shù)的prototype屬性
??*?每個(gè)函數(shù)都有一個(gè)prototype屬性,?它默認(rèn)指向一個(gè)Object空對象(即稱為:?原型對象)
??*?原型對象中有一個(gè)屬性constructor,?它指向函數(shù)對象
2.?給原型對象添加屬性(一般都是方法)
??*?作用:?函數(shù)的所有實(shí)例對象自動(dòng)擁有原型中的屬性(方法)
?
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>01_原型(prototype)</title>
</head>
<body>
<!--
1. 函數(shù)的prototype屬性(圖)
  * 每個(gè)函數(shù)都有一個(gè)prototype屬性, 它默認(rèn)指向一個(gè)Object空對象(即稱為: 原型對象)
  * 原型對象中有一個(gè)屬性constructor, 它指向函數(shù)對象
2. 給原型對象添加屬性(一般都是方法)
  * 作用: 函數(shù)的所有實(shí)例對象自動(dòng)擁有原型中的屬性(方法)
-->
<script type="text/javascript">
  // 每個(gè)函數(shù)都有一個(gè)prototype屬性, 它默認(rèn)指向一個(gè)對象(即稱為: 原型對象)
  console.log(Date.prototype, typeof Date.prototype)
  function fn() {

  }
  console.log(fn.prototype, typeof fn.prototype)

  // 原型對象中有一個(gè)屬性constructor, 它指向函數(shù)對象
  console.log(Date.prototype.constructor===Date)
  console.log(fn.prototype.constructor===fn)


  // 2. 給原型對象添加屬性(一般都是方法)
  function F() {

  }
  F.prototype.age = 12 //添加屬性
  F.prototype.setAge = function (age) { // 添加方法
    this.age = age
  }
  // 創(chuàng)建函數(shù)的實(shí)例對象
  var f = new F()
  console.log(f.age)
  f.setAge(23)
  console.log(f.age)

</script>
</body>
</html>

?

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >