个人思考:能否sub.prototye=sup.prototype实现继承

var Sup=function(name){
	this.name=name;
};
var Sub=function(name){
	this.name=name;
};
Sup.prototype.sayName=function(){
	alert(this.name);
}
Sub.prototype=Sup.prototype;
Sup.prototype.sayAge=function(){
	alert(21);
}
Sub.prototye.sayMe=function(){
	alert("me");
}
var instance=new Sub("gao");
instance.sayName();		//gao
instance.sayAge();	//21
instance.sayMe();   //不能执行,sayMe函数不能被定义

  Sub.prototype=Sup.prototype是可以执行的,同时也实现了继承,在Sup.prototype中添加方法可以成功,而在Sub.prototype添加方法会失败。如果仅仅是想继承Sup.prototype的方法,而不用添加Sub.prototype自己的方法,完全可以使用这样的方式实现继承。

时间: 2024-10-11 21:21:41

个人思考:能否sub.prototye=sup.prototype实现继承的相关文章

JavaScript面向对象(3)--prototype和继承

1.使用prototype实现继承 1 function BaseClass() 2 { 3 var privateName = "private"; 4 5 this.pubicName1 = "public1"; 6 7 var privateMethod = function() 8 { 9 alert("privateMethod"); 10 } 11 12 this.publicMethod1 = function() 13 { 14

Javascript中的prototype与继承

通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表.javascript创建对象时采用了写时复制的理念. 只有构造器才具有prototype属性,原型链继承就是创建一个新的指针,指向构造器的prototype属性. prototype属性之所以特别,是因为javascript时读取属性时的遍历机制决定的.本质上它就是一个普通的指针. 构造器包括: 1.Object 2.Function 3.Array 4.Date 5.String 下面我们来举一些例

理解原型Prototype、继承

原型一直都是js中比较难理解的一块,那么原型究竟是什么,原型链又是什么? 原型Prototype是指当我们只要创建一个新的函数,就会根据特定的规则为这个函数创建一个prototype属性,这个属性指向函数的原型对象,原型对象通过其自身的constructor属性中的指针又指向拥有prototype属性的函数,也可以说是构造函数. 原型链是指如果让一个函数a的原型对象等于另一个类型b的实例,那么此时的a的原型对象就包含一个指向b的原型对象的指针,相应的,b的原型中包含指向构造函数b的指针,如果b的

关于prototype以及继承方面的理解

学习笔记(致 渐悟) 写在前面的话 今天看<javascript高级程序设计>的时候,看到有关继承和原型链prototype时遇到些疑问,特回来研究下,同时也感谢JS群网友"渐悟"的指导,非常感谢! 先给Demo,再说话 1 function Polygon(iSides) { 2 this.sides = iSides; 3 this.sex = "男"; 4 this.getName = function () { 5 console.log(&qu

11JavaScript中通过prototype实现继承

1 <script type="text/javascript"> 2 function Person(name, age, gender) { 3 this.userName = name; 4 this.userAge = age; 5 this.userGender = gender; 6 7 this.sayHello = function () { 8 alert('我叫:' + this.userName + ' 今年:' + this.userAge + '岁

js中的prototype和基于prototype的继承总结

与其他编译语言的继承相比,javascript也有一套继承实现方式,即使用prototype原型及其链的方式. 1.我们先用一个简单的例子先理解原型链, function superClass(){ this.value = "super"; } superClass.prototype.getSuperValue = function(){ return this.value; } function subClass(){ this.subClassValue = "sub

JavaScript prototype与继承

通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表.javascript创建对象时采用了写时复制的理念. 只有构造器才具有prototype属性,原型链继承就是创建一个新的指针,指向构造器的prototype属性. prototype属性之所以特别,是因为javascript时读取属性时的遍历机制决定的.本质上它就是一个普通的指针. 构造器包括: 1.Object 2.Function 3.Array 4.Date 5.String 例子: //每个f

理清javascript中prototype、__proto__、Object、Function的关系,更好地理解原型继承

本文参考了http://www.blogjava.net/heavensay/archive/2013/10/20/405440.html这篇文章,对其内容作了个简单总结,形成了几条简单的结论,让读者更容易记住prototype.__proto__.Object.Function之间的关系. 结论1:Object.prototype只是一个普通对象,它是js原型链的最顶端. (typeof Object.prototype) === object;//true Object.prototype.

javascript继承—prototype属性介绍(2)

js里每一个function都有一个prototype属性,而每一个实例都有constructor属性,并且每一个function的prototype都有一个constructor属性,这个属性会指向自身.这会形成一个非常有意思的链式结构.举例如下: function Person(){ this.name =12; } console.log(Person.prototype); console.log(Person.prototype.constructor);//输出Person,指向自身