1.?函數(shù)的prototype屬性
??*?每個(gè)函數(shù)都有一個(gè)prototype屬性,?它默認(rèn)指向一個(gè)Object空對象(即稱為:?原型對象)
??*?原型對象中有一個(gè)屬性constructor,?它指向函數(shù)對象
2.?給原型對象添加屬性(一般都是方法)
??*?作用:?函數(shù)的所有實(shí)例對象自動擁有原型中的屬性(方法)
?
<!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í)例對象自動擁有原型中的屬性(方法) --> <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/