学习时间 | 完成时间 ✅ | 重难点 | 疑问/遗漏 |
---|---|---|---|
复习时间 | |||
原型
JavaScript 只有一种结构:对象。每个实例对象( object )都有一个私有属性(称之为 proto )指向它的构造函数的原型对象(prototype )。该原型对象也有一个自己的原型对象( proto ) ,层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。
原型:prototype
原型prototype是function构造函数的一个属性,数据类型也为对象
function Handphone(){
this.color='red';
this.brand='小米';
this.screen='18:9';
this.system='Android';
}
Handphone.prototype.rom='64G';
var hp1=new Handphone('red','小米');
var hp2=new Handphone('black','华为');
//prototype是定义构造函数构造出来的每个对象的公共祖先
//所有被该构造函数构造出的对象都可以继承原型上的属性和方法
constructor->指向构造函数本身
function Car() {
var this={
__proto__:Car.prototype //car.__proto__===Car.prototype
}
}
var car=new Car()
当构造函数被实例话的时候,构造函数就会创建this
Car.prototype.contructor = Car;
Car.prototype.name='Benz';
function Car(){}
var car=new Car();
Car.prototype={
name:'Mazda'
}
console.log(car.name) //Benz
Car.prototype.constructor==Car()
//js插件的写法
;(function(){ //使用立即执行函数,可以防止全局污染
function Test(){
}
window.Test=Test;
})()
var test=new Test();