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内置对象、自定义对象)进行方便的扩展了!

  • 相关阅读:
    python错误信息 object is not subscriptable 的原因
    python join函数
    string的部分总结
    第k个非立方数(忘记哪里的题了)
    pandas 学习
    数学建模中 时间序列典型分解模型 matlab实现
    matlab三维画图学习 三次插值
    原型
    JavaScript
    js数组去重(多种写法)
  • 原文地址:https://www.cnblogs.com/likewpp/p/6939658.html
Copyright © 2011-2022 走看看