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

  • 相关阅读:
    DropDownList 禁止选择某一项
    C语言文件操作函数(ANSI)详解(二)
    c语言中break与continue的区别
    指针函数
    C语言文件操作函数(ANSI)详解(一)
    结构体指针
    ASCII\UNICODE编码的区别
    函数调用二维数组例子
    getchar()函数getch()函数区别
    C语言 二维数组做函数参数的几种情况
  • 原文地址:https://www.cnblogs.com/likewpp/p/6939658.html
Copyright © 2011-2022 走看看