首页 > 代码库 > javascritpt 原型链
javascritpt 原型链
// 基类 var BaseCalculator = function(){ this.decimalDigits = 2; }; // public BaseCalculator.prototype.add = function(x, y) { return x + y; } // public BaseCalculator.prototype.subtract = function(x, y) { return x - y; } // 子类 var Calculator = function() { this.tax = 5; }; // 覆盖重写 Calculator.prototype.add = function(x, y) { return x + y + this.tax; } // 实例继承 Calculator.prototype = new BaseCalculator(); var calc = new Calculator(); console.log(calc.add(1,1)); console.log(calc.decimalDigits); /* 原型继承,不让子类访问基类的属性 Calculator.prototype = BaseCalculator.prototype; var calc = new Calculator(); console.log(calc.add(1,1)); console.log(calc.decimalDigits);// 无法访问 */ // 原型链遍历从自身属性到原型链,从下向上遍历,到Object.prototype 结束。 Object.prototype.bar = 1; var foo = {moo:2}; for(var i in foo) { console.log(i); } // foo bar for(var i in foo) { if(foo.hasOwnProperty(i)) { console.log(i); } } // moo
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。