zoukankan      html  css  js  c++  java
  • JS原型的认识和原型继承

    原型在JS中具有很重要的地位,但如果给出它的定义还是比较困难的,还是以首先定义一个类开始吧。

     一、原型实例

    function auth() {
        //this.name = 'hello';
        alert(this.name);
    }
    auth.prototype = {
        name: [],
        getNameLength: function () {
            alert(this.name.length);
        },
        setName: function (n) {
            this.name.push(n);
        },
        getName: function () {
            alert(this.name);
        }

    }

     假如以如下方式调用auth类:

    var one = new auth();
    one.setName("第一个");
    one.getNameLength();
    var two = new auth();
    two.setName("第二个");
    two.getNameLength();

    two.getName();

     在firefox中得到如下结果:

     说明原型中的name在所有实例中是共享的。

    结论1:原型对于实例对象来说是共享的。

    如果想使各个实例对象有自己的属性,需要在“构造函数”中声明,且需要增加this

    auth = function(){
          this.name = [];//切记,一定要在前面加上this关键词
    };

    再次运行上面的调用代码,将得到如下所示结果。

       二、原型继承

     原型继承基于原型链

    http://www.cnblogs.com/liyatang/archive/2011/05/30/2062611.html 

  • 相关阅读:
    THD 变量存入threads中
    一个简单的optimizer_trace示例
    LINUX HOOK
    网易杭研后台技术中心的博客
    INNOSQL.官网
    淘宝 印风 UDF
    mysql原创博客
    mysql 主从图
    THD
    开源利器函数调用图
  • 原文地址:https://www.cnblogs.com/xqlcrystal/p/2381999.html
Copyright © 2011-2022 走看看