1.在原型上设置一个方法

1.只要在类的原型(prototype)上设置一个方法,那么所有实例化的对象都拥有了这个方法。
2.JS的继承是基于原型的继承。

  1. var arr = new Array(1,2,3);
  2. var a = [4,5,6];
  3. Array.prototype.sayHello = function(){
  4. console.log("hello")
  5. }
  6. a.sayHello() //hello
  7. arr.sayHello() //hello

2.隐藏属性proto

1.每个对象都有一个隐藏属性proto,它指向它的原型对象
2.这个对象会享有原型上的属性或方法
_3.如果一个对象自身没有一个办法,它就会从它的原型上去找
4.object.prototype是终点,是源头

  1. <script>
  2. /* 为什么一个实例化的对象能够使用它原型上的方法 */
  3. function Person(name,age){
  4. this.name = name;
  5. this.age = age
  6. }
  7. Person.prototype.sayName = function(){
  8. console.log(this.name)
  9. }
  10. var wang = new Person("wangsi",18)
  11. console.log(Person.prototype)
  12. console.log(wang.__proto__)
  13. </script>