WEB开发网
开发学院网页设计JavaScript JavaScript中类的定义、继承 阅读

JavaScript中类的定义、继承

 2009-06-30 04:34:00 来源:WEB开发网   
核心提示:一.类的定义:1.混合的构造函数/原型: 程序代码function Parent(name) { //实例属性 this.name = name;}//实例方法Parent.PRototype.hello = function () { alert("parent!");}//类属性Paren

一.类的定义:
1.混合的构造函数/原型:

 程序代码
function Parent(name) {
   //实例属性
   this.name = name;
}

//实例方法
Parent.PRototype.hello = function () {
   alert("parent!");
}

//类属性
Parent.PI = 3.14159;

//类方法
Parent.say = function () {
   alert("say");
}


2.动态原型:

 程序代码
function Parent(name) {
   //实例属性
   this.name = name;

   if (typeof Parent._initialized == "undefined") {
     //实例方法
     Parent.prototype.hello = function () {
       alert("parent!");
     };
   
     //类属性http://QQface.cncms.com/
     Parent.PI = 3.14159;

   //类方法
     Parent.say = function () {
       alert("say");
     }

   Parent._initialized = true;
   }
}


其中方法1更常用。

2.类的继承:

 程序代码
function Child(name, age) {
   Parent.call(this, name);
   this.age = age;
}

Child.prototype = new Parent();
//Child.prototype = Parent.prototype;

Child.prototype.hello = function () {
   alert("child!");
}

for (var classMember in Parent) {
   Child[classMember] = Parent[classMember];
}


注意:
1.不能用Child.prototype = Parent.prototype,否则会导致:修改Child的方法同时也修改Parent的方法。
2.使用Child.prototype = Parent.prototype也可以使Child的实例child instanceof Parent为true。
3.其中类方法、类属性的继承实现的比较牵强,期待更好的方法。

Tags:JavaScript 定义 继承

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接