zoukankan      html  css  js  c++  java
  • Javascript object.constructor属性与面向对象编程(oop)

    定义和用法

    在 JavaScript 中, constructor 属性返回对象的构造函数。

    返回值是函数的引用,不是函数名:

    JavaScript 数组 constructor 属性返回 function Array() { [native code] }

    JavaScript 数字 constructor 属性返回 function Number() { [native code] }

    JavaScript 字符串 constructor 属性返回 function String() { [native code] }

    如果一个变量是数组你可以使用 constructor 属性来定义。

    语法

    array.constructor
     
    原型:函数创建时会自动內建一个prototype属性,这个属性是一个object,所以也称该属性称为原型对象。
    而在prototype中也有个construct属性。
    继承:关于继承,js中继承是通过原型的方式继承的,有一个属性称为原型链。
     

    constructor:

    在 Javascript 语言中,constructor 属性是专门为 function 而设计的,它存在于每一个 function 的prototype 属性中。

    这个 constructor 保存了指向 function 的一个引用。

    在定义一个函数(代码如下所示)时,

    1 function F() {
    2 // some code
    3 }

    JavaScript 内部会执行如下几个动作:

    1.为该函数添加一个原形(即 prototype)属性

    2. 为 prototype 对象额外添加一个 constructor 属性,并且该属性保存指向函数F 的一个引用

    下图详解了js中的对象的布局

    constructor 的出现原本就是用来进行对象类型判断的。

    原型链继承,由于 constructor 存在于 prototype 对象上,因此可以结合 

    constructor 沿着原型链找到最原始的构造函数

    这些都是 constructor 在原型链中的作用,其更实际一点的意义在于:一个子类对象可以获得其父类的所有属性和方法,称之为继承。
    ---------------------------

    部分内容来自:

    runoob.com

    https://blog.csdn.net/zengyonglan/article/details/53465505 

    https://www.cnblogs.com/wangxuehao/p/6554785.html

     
  • 相关阅读:
    js模版引擎Mustache介绍
    springMVC学习篇
    MyBatis参数传入集合之foreach动态sql
    eclipse注册码生成,在eclipse3.3.x上测试可用
    B
    jAVA笔记二
    J 分班(class)(NYIST 2019年校赛)
    H 幻方变换(puzzle)(NYIST 2019年校赛)
    E 旅游方案(travel)(南阳理工学院2019年校赛)
    ACM Computer Factory(网络流 POJ 3436,这可是我第一次写网络流)
  • 原文地址:https://www.cnblogs.com/abcdecsf/p/9941933.html
Copyright © 2011-2022 走看看