关于constructor与 Prototype的理解

constructor:每一个函数的Prototype属性指向的对象都包含唯一一个不可枚举属性constructor,该属性的值是这么一个对象:constructor指向了它所在的构造函数
Prototype:每一个函数都包含一个prototype属性,这个属性指向的是一个对象的引用;而对已每一个函数(类)的实例都会从prototype属性指向的对象上继承属性,换句话说通过同一个函数创建的所有对象都继承一个相同的对象。

function Person(name) { this.name = name; }; Person.prototype.getName = function() { return this.name; }; var p = new Person("ZhangSan");    console.log(Person.prototype)

// 构造函数
        function Person(name) {
            this.name = name;
        }
        // 定义Person的原型,原型中的属性可以被自定义对象引用
        Person.prototype = {
            getName: function() {
                return this.name;
            }
        }
       // Person.prototype.constructor=Person指定了constructor,实例化的类就会指向person,不指向就会指向object
        var zhang = new Person("ZhangSan");
        console.log(Person.prototype)

时间: 2024-11-03 03:24:21

关于constructor与 Prototype的理解的相关文章

constructor 和prototype

在javascript的使用过程中,constructor 和prototype这两个概念是相当重要的,深入的理解这两个概念对理解js的一些核心概念非常的重要. 我们在定义函数的时候,函数定义的时候函数本身就会默认有一个prototype的属性,而我们如果用new 运算符来生成一个对象的时候就没有prototype属性.我们来看一个例子,来说明这个 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 从上面的例子可以看出函数的prototype 属性又指向了一个对象,这个对象就是protot

JavaScript——this、constructor、prototype

this this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window: 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用. 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向. 先看一个在全局作用范围内使用this的例子: <script type="text/javascript"> console.log(this === window); // true console.log(wi

原型和继承 constructor、prototype、__proto__

之前大神说,学习 JS 遇到原型和继承果断的跳过吧,没有它们,你也可以把 JS 玩的很 6 突然入了坑,简单的记录一下 构造函数 实例对象 用来初始化新创建的对象的函数是构造函数. 在 C++ 语言中,类 有一个构造函数, 它与类同名且没有返回值的(可以不写,也可重载多个): 在 JS  中, 没有 类 的概念,原型对象 姑且等同于 类 ,原型对象有 constructor 属性,该属性指向原型对象的构造函数. JS 中默认存在的一些原型对象,也存在它们的构造函数,比如 Object() Arr

&lt;JavaScript&gt;constructor、prototype、__proto__和原型链

在看了网上很多相关的文章,很多都是懵逼看完,并不是说各位前辈们写得不好,而是说实在不容易在一两次阅读中理解透.我在阅读了一些文章后,自己整理总结和绘制了一些相关的图,个人认为会更容易接受和理解,所以分享在此.也因此以下的所有的理解和图解都是出于个人的理解,如果有错误的地方,请各位前辈务必见谅,并辛苦在下方提出和纠错,我实在担心自己不成熟的理论底子会误导了其余的小兄弟. 一开始,先说说为何这个知识点为什么理解起来这么乱 个人感觉原因有三: JS内函数即对象. Function对象和Object对象

【JavaScript】关于JS中的constructor与prototype

最初对js中 object.constructor 的认识: 在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下: 我们都知道,在JS中有一个function的东西.一般人们叫它函数.比如下面的代码 function Person(name)   {     alert(name);   }   Person('js');//js 上面的代码中,Person的表现的确跟一般的函数没有什么区别,接着看下面的代码

关于JS中的constructor与prototype&lt;转&gt;

在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下: 我们都知道,在JS中有一个function的东西.一般人们叫它函数.比如下面的代码 js代码: function Person(name) { alert(name); } Person('js');//js 上面的代码中,Person的表现的确跟一般的函数没有什么区别,接着看下面的代码 function Person(name) { this.name=

js中的constructor与prototype

constructor始终指向创建当前对象的构造函数.比如下面例子: // 等价于 var foo = new Array(1, 56, 34, 12); var arr = [1, 56, 34, 12]; console.log(arr.constructor === Array); // true // 等价于 var foo = new Function(); var Foo = function() { }; console.log(Foo.constructor === Functi

关于JS中的constructor与prototype

最初对js中 object.constructor 的认识: 在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下: 我们都知道,在JS中有一个function的东西.一般人们叫它函数.比如下面的代码 function Person(name)   {     alert(name);   }   Person('js');//js 上面的代码中,Person的表现的确跟一般的函数没有什么区别,接着看下面的代码

【转】JavaScript中的constructor与prototype

最初对js中 object.constructor 的认识: 在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下: 我们都知道,在JS中有一个function的东西.一般人们叫它函数.比如下面的代码 function Person(name)   {     alert(name);   }   Person('js');//js 上面的代码中,Person的表现的确跟一般的函数没有什么区别,接着看下面的代码