JavaScript中类的定义、继承

2016-02-19 14:39 7 1 收藏

下面,图老师小编带您去了解一下JavaScript中类的定义、继承,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - Web开发 】

一.类的定义:

1.混合的构造函数/原型:

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

//类属性
Parent.PI = 3.14159;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

来源:http://www.tulaoshi.com/n/20160219/1607484.html

延伸阅读
标签: Web开发
继承样式定义方法,这样写的好处可以节省网页的代码容易真正的代码与内容相分离,对seo优化也有很大的帮助,下面我们来看一个简单的实例. style .nav ul li a:hover{ background:url(imgs/hover.gif) left top no-repeat; } .nav ul li{  height:28px;  width:100%; } .nav ul li a{ display:block; height:28px; width:100%; margin...
在前面的练习中我们一直在使用public的继续方式,即共有继续方式,对于protected和private继续方式,即保护继续与私有继续方式我们并没有讨论。 !-- frame contents -- !-- /frame contents -- 对于单个类来说,讨论保护继续与私有继续的区别意义是不大的,他们的区别只在多级继续的情况中体现。 在这里我声明一下,...
IO 常用IO操作类继承结构 IO字符流Reader(源)BufferedReaderLineNumberReaderInputStreamReaderFileReader(字节流通向字符流的桥梁)   StringReader    Writer(目的)BufferedWriter   OutputStreamWriterFileWriter(字符流通向字节流的桥梁)   StringWriter空  &n...
标签: Web开发
类是什么? 许多刚接触编程的朋友都可能理解不了类,其实类是对我们这个现实世界的模拟,把它说成类别或者类型可能会更容易理解一些。比如人这种动物就是一个类,而具体某一个人就是人这个类的一个实例,人可以有许多实例(地球人超过六十亿了),但人这个类只有一个。你或许会说那男人和女人不也是人么?怎么只能有一个?其实这里要...
标签: Web开发 ExtJs
1/**//** 2 * ExtJs自定义PersonListGridPanel类 3 * 该类继承自GridPanel[使用Ext.extend(superClass,override Object)方法实现继承], 4 * 并override了该类的构造函数 5 * 构造函数内部继承自GridPanel的构造函数[apply(this,arguments)实现继承] 6 * 该类实现了如何对外部公布一个事件 7 * 在构造函数中添加一个事件[this.add...

经验教程

535

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部