参考 http://www.cnblogs.com/yupeng/archive/2012/04/06/2435386.html

function a(c){
this.b = c;
this.d =function(){
alert(this.b);
}
}
var obj = new a('test');
console.log(obj.constructor);//a的function
console.log(a);

结果都是

function a(c){
this.b = c;
this.d =function(){
alert(this.b);
}
}

function 里面包含了

    1. arguments: null
    2. caller: null
    3. length: 0
    4. name: ""
    5. prototype: Object
    6. __proto__: function Empty() {}
    7. <function scope>
  1. __proto__:

prototype 包含了2个属性,一个是constructor ,另外一个是__proto__

一个实例化的对象他的__proto__指向的是原始对象的prototype,所以constructor也过来了。

obj.constructor===a 是true,obj instanceof  a 也是true。如下面所示。

可以这么说因为 obj.constructor===a 所以 obj instanceof  a

a {b: "test", d: function}
b: "test"
d: function (){
__proto__: a
constructor: function a(c){
__proto__: Object

  

总结下,一个实例化的对象的constructor === 它的没有实例化的对象。

在arale源码里面调用父类方法,如下,他用到了constructor,this应该是实例化后的对象。this总是指向调用方法的对象,作为方法调用,那么this就是指实例化的对象。

    // The created class constructor 创建一个类的构造函数
function SubClass() {
// Call the parent constructor.
parent.apply(this, arguments) // Only call initialize in self constructor.
if (this.constructor === SubClass && this.initialize) {
this.initialize.apply(this, arguments)
}
}

 参考下:http://www.2cto.com/kf/201407/313470.html

js中的constructor 和prototype的更多相关文章

  1. 分析js中的constructor 和prototype

    在javascript的使用过程中,constructor 和prototype这两个概念是相当重要的,深入的理解这两个概念对理解js的一些核心概念非常的重要. 我们在定义函数的时候,函数定义的时候函 ...

  2. 深入分析js中的constructor 和prototype

    在javascript的使用过程中,constructor 和prototype这两个概念是相当重要的,深入的理解这两个概念对理解js的一些核心概念非常的重要. 我们在定义函数的时候,函数定义的时候函 ...

  3. 【JavaScript】关于JS中的constructor与prototype

    最初对js中 object.constructor 的认识: 在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下 ...

  4. 【推荐】关于JS中的constructor与prototype【转】

    最初对js中 object.constructor 的认识: 在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下 ...

  5. JS中的constructor与prototype

    http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930548.html 在学习JS的面向对象过程中,一直对constructor与pr ...

  6. 关于JS中的constructor与prototype

    ======================================================================== 在学习JS的面向对象过程中,一直对constructo ...

  7. JS中的constructor 和 prototype

    object.constructor :对象的constructor 属性引用了该对象的构造函数. //例如,用Array()构造函数创建了一个数组,那么a.constructor 引用的就是Arra ...

  8. js中关于constructor与prototype的理解

    1.①__proto__和constructor属性是对象所独有的:② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性. 2. ...

  9. 关于JS中的constructor与prototype{转}

    http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930548.html http://www.cnblogs.com/yupeng/a ...

随机推荐

  1. Codeforces 1144G(dp)

    据说这题是种dp的套路?然后被我国红名神仙(南大Roundgod)贪心了,不过思路上非常相近了,故而可贪吧. 设的dp[i][0]是:如果把第i个数放在上升序列里了,那么下降序列结尾的那个最大是多少: ...

  2. 牛客练习赛25-A-因数个数和

    题目描述 q次询问,每次给一个x,问1到x的因数个数的和. 输入描述: 第一行一个正整数q:接下来q行,每行一个正整数x 输出描述: 共q行,每行一个正整数表示答案 输入 4 1 2 3 10 输出 ...

  3. 18.3.2从Class上获取信息(方法)

    package d18_3_1; import java.lang.reflect.Method; import java.util.Arrays; /** * 获取Class对应类所包含的方法的四个 ...

  4. 利用layui的load模块解决图片上传

    首先肯定要参考layui官网的upload模块文档:http://www.layui.com/doc/modules/upload.html 讲讲思路:在一份添加表单中,我们有个图片上传的模块,然后我 ...

  5. 直接修改HEX修改液晶显示内容的方法

    一先通过HEX2bin工具转成bin文件,可粗略看到字节流对应的内容. 二确定原汉字的扫描方式(美术字是图形方式,不确定扫描方式的穷举各种扫描方式),然后根据字体大小.MSB的位置,利用液晶工具生成汉 ...

  6. UGUI_屏幕适配

    引用:http://www.xuanyusong.com/archives/3278#comments 1.可以选择的有三种: 1.Screen Space – overlay  此模式不需要UI摄像 ...

  7. 十个非常棒的学习angularjs的英文网站

    AngularJS 是非常棒的JS框架,能够创建功能强大,动态功能的Web app.AngularJS自2009发布以来,已经广泛应用于Web 开发中.但是对想要学习Angular JS 的人而言,只 ...

  8. 享元模式及php实现

    享元模式: 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用.系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用.由于享元模式要求 ...

  9. CF963A Alternating Sum

    思路:利用周期性转化为等比数列求和. 注意当a != b的时候 bk * inv(ak) % (109 + 9)依然有可能等于1,不知道为什么. 实现: #include <bits/stdc+ ...

  10. Selenium2(WebDriver)开发环境搭建(java版)

    一.开发环境 1.JDK 2.Eclipse 3.Firefox 28.0 4.selenium-java-2.44.0.zip 解压后: 5.selenium-server-standalone-2 ...