论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Javascript教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

JavaScript中类的定义、继承

文章类别:Javascript | 发表日期:2009-11-7 12:05:13

一.类的定义:
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.knowsky.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.其中类方法、类属性的继承实现的比较牵强,期待更好的方法。

上一篇:javascript编程的陷阱(gotcha) 人气:2097
下一篇:Javascript实现页面刷新的方法 人气:2209
视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058