原型
1.原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先
通过该构造函数产生的对象,可以继承该原型的属性和方法原型也是对象
2.利用原型的特点和概念可以提取共有属性
3。对象如何查看原型:obj.__protp__
4.查看对象的构造函数:obj.constructor
function Person(){
this.name='zf'
}
function Car () {
this.name='zz'
}
Car.prototype={
constructor:Person
}
var car=new Car();
Person.prototype//原型
Person.prototype={}//祖先
function Person(){
// this={
// __protp__:Person.prototype
// }
this.name='zf'
}
var son=new Person();
son.age//son会沿着原型链向上找age属性,__protp__指向原型
原型的__protp__指向object.prototype(是原型链的终端{绝大多数对象最终都会继承自object.prototype 由于Object.create()这个的原因}),
var obj=Object.create(原型)
var obj={}
obj.toString()==>"[object object]"
可以在原型链上编程,比如重写一个toString方法,因为,toString方法在object.prototype上,可以在构造函数的原型上写一个toString方法
Object.prototype.toString()
Number.prototype.toString()//系统自己的
String.prototype.toString()//系统自己的
Boolean.prototype.toString()//系统自己的
Array.prototype.toString()//系统自己的
123.toString()不能直接这样使用,要赋值给变量
document.write()隐士的调用了toString方法,所有document。write打印对象时,会是[object object]
.call()/.applay()
两个可以改变this指向,区别是传参不同,appay传的是数组

浙公网安备 33010602011771号