<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
 </head>
 <body>
  <script type="text/javascript">
   // function Parent(username){
   //  this.username=username
   //  this.hello=function(){
   //  console.log(this.username)
   //  }
   //  console.log(this)
   // }
   // Parent()
   // function Child(u,p){
   //  console.log(this)
   //  // this.m=Parent
   //  // this.m(u)
   //  // delete this.m
   //  // let fn=Parent.bind(this)
   //  // fn(u)
   // }
   // let c=new Child("qqq","222")
 // Child创建新的对象然后this指向是指向本身,然后使其父类成为其一个属性,这是父类的指向也改变了
 // Parent中其调用是windows调用的所以指向windows
 // 构造函数中的继承就是通过改变父类中this指向来实现继承.
 //通过bind来绑定this指向,绑定是哪个就是哪个
 
 // function box(a,b){
 //  console.log(this,a,b)
 // }
 // var arr=[111]
 // box.call(arr,1,3)
 //
 //
 // function box(a,b){
 //  console.log(this,a,b)
 // }
 // var arr=[111]
 // box.apply(arr,[1,2])
 // 使用call和apply的方法时就已经在调用函数,然后一一对应将值赋给this,call和apply的不同之处在于参数不同,
 // let arr=[2,4,5,6,2,90,34,22,4,223,322]
 // console.log(Math.min(...arr))
 // var a=Math.max.apply(null,arr)
 // console.log(a)
 
 __proto__原型指针
 实例里面的__proto__原型指针都指向构造函数的原型对象
 同一个构造函数的实例的原型指针都指向这个构造函数的原型对象
 改变构造函数原型对象的属性,实例都会受影响
 原型链
 自身-原型-原型.....-object-原型(null)
 找属性可以顺着原型链找,一层一层向上找,如果最后还找不到就是undefined
    hasOwnProperty 检查对象本身是否具有某个属性,原型链上的检测不出来
 继承
 属性写在构造函数里
 方法写在原型对象中
  </script>
 </body>
</html>

posted on 2019-07-16 19:12  whl0919  阅读(117)  评论(0)    收藏  举报