第十四天
JavaScript中类的一个重要特性是动态可继承。
一种常见的解决办法是使用预定义的原型对象,预定义的原型对象包含constructor属性,然后依此给原型对象添加方法:
// 扩展预定义的Range.prototype对象,而不重写之
//这样就自动创建Range.prototype.constructor属性
Range.prototype.includes = function (x) { return this.from <= x &&x <= this.to?};
Range.prototype.foreach = function(f){
for( var x = Math.ceil(this.from);x<= this.to;x++) f(x);
};
Range.prototype.toString = function(){
return “(“ + this.from + “…” + this.to + “)” ;
};
鸭式辩型
检测对象的类或多或少都会有些问题,至少在客户端JavaScript中是这样。解决办法就是规避掉这些问题:不要关注“对象的类是什么,而是关注“对象能做什么”。
console.log(“新年快乐“);