修正constructor的指向

function Aaa(){
}
//Aaa.prototype.constructor = Aaa;   //每一个函数都会有的,都是自动生成的
Aaa.prototype.name = ‘小明‘;
Aaa.prototype.age = 20;

Aaa.prototype = {         这是对象的引用,会修改constructor,要修正constructor的指向
    constructor : Aaa,
    name : ‘小明‘,
    age : 20
};

var a1 = new Aaa();
alert( a1.constructor );
alert( a1.constructor=object.prototype.constructor ); //true
 
时间: 2024-12-17 23:31:40

修正constructor的指向的相关文章

jquery源码解析:jQuery原型方法init的详解

先来了解几个jQuery方法: <li></li> <li></li> <li></li> $("li") -> this -> jQuery对象 ->    { 0 : "li", 1 : "li", 2 : "li", length : 3 } $("<li>aaa")  的效果跟   $("

JavaScript继承详解(三)

在第一章中,我们使用构造函数和原型的方式在JavaScript的世界中实现了类和继承, 但是存在很多问题.这一章我们将会逐一分析这些问题,并给出解决方案. 注:本章中的jClass的实现参考了Simple JavaScript Inheritance的做法. 首先让我们来回顾一下第一章中介绍的例子: function Person(name) { this.name = name; } Person.prototype = { getName: function() { return this.

javaScript从入门到精通3.md

今日鸡汤:这个世界不会因为你的付出就必须给予回报,也不会因为你以怎样的方式对待别人,就要求他人同等对待你.人活在这世上,最难的就是保持一份谦卑和平和,而这份谦卑,来源于内心的真诚和踏实的努力. 前提摘要 JavaScript 是什么 解析执行:轻量级解释型的,或是 JIT 编译型(即时编译)的程序设计语言 语言特点:动态,头等函数 (First-class Function) - 函数可以作为别的函数的参数.函数的返回值,赋值给变量或存储在数据结构中 执行环境:在宿主环境(host enviro

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

//    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()

【转】js老生常谈之this,constructor ,prototype

前言 javascript中的this,constructor ,prototype,都是老生常谈的问题,深入理解他们的含义至关重要.在这里,我们再来复习一下吧,温故而知新! this this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window: 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用. 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向. 先看一个在全局作用范围内使用this的例子: 1 conso

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

一张图理解prototype、proto和constructor的三角关系

× 目录 [1]图示 [2]概念 [3]说明[4]总结 前面的话 javascript里的关系又多又乱.作用域链是一种单向的链式关系,还算简单清晰:this机制的调用关系,稍微有些复杂:而关于原型,则是prototype.proto和constructor的三角关系.本文先用一张图开宗明义,然后详细解释原型的三角关系 图示 概念 上图中的复杂关系,实际上来源就两行代码 function Foo(){}; var f1 = new Foo; [构造函数] 用来初始化新创建的对象的函数是构造函数.在

JS的prototype和__proto__、constructor

看了JS的prototype和__proto__这篇文章,才感觉很清晰了,对于原型这块,以前经常把这些属性弄不清楚, 明白了之后保存下整理下: prototype: 是函数的一个属性(每个函数都有一个prototype属性) __proto__: 是一个对象拥有的内置属性 (prototype是函数的内置属性,__proto__是对象的内置属性) 二.new 的过程 var t= function(){}; var p = new t(); new的过程拆分成以下三步:(1) var p={};