zoukankan      html  css  js  c++  java
  • JavaScript 对象的原型扩展(JS面向对象中的继承)

    <script type="text/javascript">
    function person(name, age) {
    this._name = name;
    this._age = age;
    var _self = this;
    this.say = function() {
    console.log(this._name + '-' + this._age);
    setTimeout(function() {
    console.log(_self._name);
    }, 2000);
    }

    }
    person.prototype.foot = function() {
    console.log("I foot " + this._age);
    }

    var xiaoming = new person('xiaoming', 18);
    xiaoming.foot();
    // console.log(JSON.stringify(xiaoming));
    </script>

    prototype在软件界的意思为原型即表对象的初始形态。JavaScript 中的 prototype。

    js的所有function类型的对象都有一个prototype 属性。这个 prototype 属性本身又是一个object 类型的对象,因此可以给这个 prototype 对象添加任意的属性和方法。

    在 JavaScript 内部,对象的属性和方法追溯机制是通过所谓的 prototype 链来实现的。当用 new 操作符构造对象时,也会同时将构造函数的 prototype 对象指派给新创建的对象,成为该对象内置的原型对象。对象内置的原型对象应该是对外不可见的,尽管有些浏览器(如 Firefox)可以让我们访问这个内置原型对象,但并不建议这样做。
    这就是JavaScript的“继承”
    有了继承我们可以对已有对象(包含js内置对象、自定义对象)进行方便的扩展了!

  • 相关阅读:
    OnGUI 音频
    Java 8 的一些新特性
    获取文件编码格式
    js 常用 正则
    C#中这个算是什么
    数据的批量增加
    Ehcache的配置(自学,有问题请指出)
    Linux 下配置和使用java、Tomcat
    StringBuffer和StringBuildr的区别
    Oracle中复制一张表的结构,用sql语句复制一张表结构
  • 原文地址:https://www.cnblogs.com/likewpp/p/6939658.html
Copyright © 2011-2022 走看看