原型链

博客介绍了JavaScript中a.sayName()里this的指向规则,即谁调用方法this就指向谁,还提及object.create(),指出绝大多数对象最终会继承自Object.prototype,以及toString()方法的重写。

a.sayName() 里面的this指向是,谁调用这个方法,this就指向谁


Person.prototype={
   name:"a",
   sayName:function(){
      console.log(this.name);
   }
}
function Person (){
   this.name="b";
}
var person=new Person(); 
person.sayName();  //b




Person.prototype={
   height:100
}
function Person(){
   this.eat=function(){
      this.height++;
   }
}
var person=new Person();
person.eat();
person.height //101
person._proto_.height //100


object.create()

// var obj=Object.create(原型)
// var obj={name:"sunny",age:123};
// var obj1=Object.create(obj);
Person.prototype.name="sunny";
function Person(){
}
var person=Object.create(Person.prototype);


绝大多数对象的最终都会继承自Object.prototype

var object=Object.create(null);
obj._proto_={name:"sunny"}
obj.name //underfined

toString()

var num=123;
num.toString();   //”123“
true.toString();  //"true"
obj.toString();   //[object Object]

重写

Object.prototype.toString=function(){

}
Peron.prototype={

}
function Person(){
   toString:function(){
      return "hehe";
   }
}
var person=new Person();
person.toString();   //"hehe"

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值