prototype 是只有在new 出现的时候在会起作用
function A()
{
this.ab = function ()
{
alert("ab方法");
}
};
A.prototype.abc = function()
{
alert("abc方法");
};
var B = new A();
B.ab();
B.abc();
为什么这俩个方法都可以找的到呢?
一般的疑问是在B.abc();为什么可以找的到,
而实际上B.ab();找的到才是转了很多个弯才实现的.
因为prototype这个属性的定义就是在new的时候prototype下面有constructor的方法都可以找的到,
那为什么B.ab();也找的到呢,一般情况我们认为是通过A的constructor找到的.
其实不是这样的.他是通ab()在创造出来的时候直接赋给了A.prototype.ab();
然后在通过prototype的constructor方法传给B的constructor的;
B没有prototype属性.
以上是我的理解,仅供参考
分享到:
相关推荐
JavaScript 是一种基于原型的面向对象编程语言,它利用 prototype 和 constructor 两个核心概念来实现对象的继承和原型链继承。在 JavaScript 中,几乎所有的数据类型都有一个 constructor 属性,它指向创建这个数据...
1、任何一个函数内都有prototype属性,这个prototype属性指向另一个对象 ,这个对象就是就是原型对象 ,简称原型。注意这个prototype是函数本身所自带的属性 2、原型的作用就是实现方法共享,将多个对象会调用的相同...
本文将深入探讨四种常用的方法来识别和判断JavaScript中的数据类型:`typeof`、`instanceof`、`constructor`以及`prototype`。 ### 1. `typeof` `typeof`操作符是最常见的类型检测方式之一,它返回一个表示未经计算...
分析javascript中 prototype __proto__ constructor之间的关系
在JavaScript中,遍历属性、理解`prototype`和掌握继承机制是编程中不可或缺的基本技能。本文将深入探讨这些概念,并通过实例来加深理解。 首先,让我们来看如何遍历JavaScript对象的属性。JavaScript提供了多种...
在实际开发中,很多JavaScript库和框架都会利用`constructor`属性来实现继承和扩展的功能。例如,在淘宝的Kissy框架中,可以看到如下继承模式的实现: ```javascript function O(o) { function F() {} F....
在JavaScript中,`constructor`和`prototype`是两个关键概念,它们构成了JavaScript面向对象编程的基础。理解这两个概念对于深入学习JavaScript至关重要。 首先,`constructor`是函数的一个属性,它指向创建该对象...
JavaScript中的`prototype`是一个核心概念,它涉及到对象继承和函数原型。在JavaScript中,每创建一个函数,该函数就会自动获得一个名为`prototype`的属性,这个属性是一个对象,用于实现对象间的继承。同时,每个...
本文实例讲述了js构造函数constructor和原型prototype原理与用法。分享给大家供大家参考,具体如下: 所有引用类型(函数,数组,对象)都拥有__proto__属性(隐式原型) 所有函数拥有prototype属性(显式原型)(仅...
深化浅析JavaScript中的constructor_ constructor 属性是 JavaScript 中的一种特殊属性,它返回对创建此对象的数组函数的引用。...我们需要正确地理解和使用这个属性,以便更好地编写 JavaScript 代码。
真正的原因是:一个对象的constructor是它的构造函数的prototype.constructor,而每一个函数都有一个prototype,默认情况下,这个prototype有一个constructor属性,指向的是它自己。 我觉得Javascript的设计本意是让...
在javascript中,prototype、constructor以及__proto__之间有着“著名”的剪不断理还乱的三角关系,楼主就着自己对它们的浅显认识,来粗略地理理以备忘,有不对之处还望斧正。
在JavaScript中,`constructor`属性是一个非常重要的概念,它与对象和类的构造函数紧密相关。构造函数是一种特殊类型的函数,通常用于初始化新创建的对象。当我们谈论`constructor`时,我们指的是一个对象实例的`...
本文将深入探讨JavaScript中的类和继承,并结合`prototype.js`文件中的示例进行解析。 ### 类的概念与模拟 在JavaScript中,我们通常使用函数来模拟类的行为。一个函数可以看作是一个类的定义,通过`new`关键字来...
JavaScript中的`prototype`、`__proto__`和`constructor`是理解JavaScript面向对象编程的关键概念。这篇文章通过图解的方式深入浅出地解析了这三个概念之间的关系。 首先,`__proto__`属性是对象独有的,它指向对象...
在JavaScript中,每个函数(包括构造函数)都有一个内置的`prototype`属性,这个属性指向一个对象,该对象包含了可以被该函数的所有实例共享的属性和方法。 当我们创建一个新对象时,它会继承其构造函数的`...