05.函数的prototype.html 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <!--
  11. 1.函数的prototype属性
  12. *每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为:原型对象)
  13. *原型对象中有一个属性constructor,它指向函数对象
  14. 2.给原型对象添加属性(一般都是方法)
  15. *作用:函数的所有实例对象自动拥有原型中的属性(方法)
  16. -->
  17. <script>
  18. //每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为:原型对象)
  19. console.log(Date.prototype);
  20. console.log(typeof Date.prototype);
  21. function Fun(){
  22. }
  23. console.log(Fun.prototype);//默认指向一个Object空对象(没有我们的属性)
  24. Fun.prototype.test = function(){
  25. console.log('test()');
  26. }
  27. console.log(Fun.prototype);
  28. //原型对象中有一个属性constructor,它指向函数对象
  29. console.log(Date.prototype.constructor===Date);
  30. console.log(Fun.prototype.constructor===Fun);
  31. //给原型对象添加属性(一般是方法)===>实例对象可以访问
  32. Fun.prototype.test = function(){
  33. console.log('test()');
  34. }
  35. var fun = new Fun()
  36. fun.test()
  37. </script>
  38. </body>
  39. </html>