es6中类是咋写的
class Box{
static b=2;
a=1;
constructor(_a){
this.a=_a
}
play(){
}
static run(){
}
}
es5里类是咋写的
- function Box(){}相当于es6中class Box{constructor(){}},既是构造函数又是类名。
- 类是个抽象的概念,它的抽象性描述全部被放在原型上,即prototype上。
- 任何函数都有一个prototype属性,而且只有函数有,对象没有这玩意。完了的话,只要给构造函数设置prototype属性,就是给该类设置属性。
function Box(_a){
this.a=_a;
}
Box.b=2;
Box.run=function(){}
Box.prototype.a=1;
Box.prototype.play=function(){}
var b = new Box(10);
原型和原型链到底有点啥关系
要这原型干点啥
- 可以在类的原型上创造各种方法,但是注意别重名了,别给人原来就有的方法覆盖了!
- 首先要知道一点就是es5类的原型中this是指实例化的对象!
Array.prototype.forEach_1=function(fn){
for(var i=0;i<this.length;i++){
fn(this[i],i,this)
}
}
var arr=[1,2,3,4];
arr.forEach_1(function(item,index,arr){
console.log(item,index,arr);
});