js中的原型prototype

var arr1 = new Array(12,34,98,43,38,79,56,1);

arr1.sum=function (){
	var result = 0;
	for(var i=0; i<this.length; i++){
		result += this[i];
	}
	return result;
};
alert(arr1.sum());

    如果现在还有个arr1 对象也要求和

var arr2 = new Array(54,29,1,10);

    那么还要给 arr2再添加一个求个的方法 。还有就是我们可以用js的原型  添加sum()方法

Array.prototype.sum=function(){
	var result = 0;
	for(var i=0; i<this.length; i++){
		result += this[i];
	}
	return result;
}
alert(arr1.sum());
alert(arr2.sum()); 

这样无论是 arr1 还是 arr2 都有 sum()方法

总结: js中  prototype  类似于css中 的 class

时间: 2024-12-30 04:04:48

js中的原型prototype的相关文章

谈谈JS中的原型

不知道大家对JS中的原型理解的怎么样,我想如果大家对JS中的原型对象以及prototype属性十分熟悉的话对后面原型链以及继承的理解会十分的容易,这里想和大家分享自己对其的理解,请先看下面这段代码O(∩_∩)O~~ 1 function Person(){ 2 } 3 Person.prototype.name = "jingzi"; 4 Person.prototype.age = 20; 5 Person.prototype.sayName = function(){ 6 aler

js中的原型、继承的一些想法

最近看到一个别人写的js类库,突然对js中的原型及继承产生了一些想法,之前也看过其中的一些内容,但是总不是很清晰,这几天利用空闲时间,对这块理解了一下,感觉还是有不通之处,思路上没那么条理,仅作为分享, 一.instanceof 在JavaScript有instanceof运算符,是二元运算符,使用方法 instanceA instanceof A,返回值是布尔值(boolean),含义是判断instanceA是否是A的一个实例,其实质是判断A.prototype===instanceA.__p

js中的原型与原型链详解

js中的原型与原型链详解 记住下面三句话就可以理解原型: 所有的函数数据类型都天生自带一个属性Prototype(原型)这个属性的值是一个对象,浏览器会默认给他开辟一个堆内存 在浏览器给prototype开辟的堆内存当中有一个天生自带的属性是constructor,这个属性存储的值是当前函数本身 每一个对象都有一个__proto__的属性,这个属性指向当前实例所属类的prototype(如果不能确定他是谁的实例,都是Object的实例) 原型链:如果引用构造函数的实例想要查找某个属性p的话: 首

JS中的原型--Prototypes

一.对象中的原型_proto_ JavaScript中的对象是基于原型的.原型是其他对象的基础,它定义并实现了一个新创建的对象必须包含的成员列表.原型对象为所有对象实例所共享. 对象通过一个内部属性绑定到它的原型.在FireFox.Safari.和Chrome浏览器中,这个属性_proto_对开发者可见.一旦你创建一个内置对象(比如Object和Array)的实例,它们就会自动拥有一个Object实例作为原型. 因此,对象可以拥有两种成员类型:实例成员和原型成员.实例成员直接存于对象实例中,原型

js中__proto__, property, prototype, 对象自身属性方法和原型中的属性方法的区别

__proto__: 这个属性是实例对象的属性,每个实例对象都有一个__proto__属性,这个属性指向实例化该实例的构造函数的原型对象(prototype). proterty:这个方法是对象的属性.(据说和一个对象的attr类似,比如dom对象中) prototype:每个构造函数都有一个prototype对象,这个对象指向该构造函数的原型. 对象自身属性方法和原型中的属性方法的区别: 对象自身的属性和方法只对该对象有效,而原型链中的属性方法对所有实例有效. 例子: function bas

说一说js中__proto__和prototype以及原型继承的那些事

在面试中遇到过,问js如何实现继承,其实最好的方式就是构造函数+原型,今天在讨论中,发现自己以前理解上的一些误区,特地写出来,最近都比较忙,等手上的项目做完,可以来做个总结. 先说我以前没有认识到位的地方 1 __proto__这个不是标准实现的,但是各大浏览器和node都采用了,ECMA6计划标准化它,__proto__对应于标准中的[[prototype]],也就是所谓的内置原型属性,要把它和函数的prototype的相区别,其实,__proto__最终是指向Function.prototy

js中__proto__和prototype的区别和联系

作者:苏墨橘来源:知乎 备注:本篇文章比较清楚的解释了__proto__属性.prototype.instanceof,秉持一贯风格,好文收藏,贴在这里供大家学习. __proto__(隐式原型)与prototype(显式原型) 1.是什么 显式原型 explicit prototype property: 每一个函数在创建之后都会拥有一个名为prototype的属性,这个属性指向函数的原型对象.Note:通过Function.prototype.bind方法构造出来的函数是个例外,它没有pro

JS中的原型模式

创建一个对象,先来看一段代码: // 例如创建一个 Person 的构造函数, 让人有名字, 可以说话 function Person ( name ) { this.name = name; // 可以说话, 需要有一个方法 this.sayHello = function () { console.log( '你好, 我是 ' + this.name ); }; } var p1 = new Person( '小明' ); var p2 = new Person( '大伟' ); conso

JS 中 讨厌的 prototype constructor _pro_ 理解

这几天一直在看着块,哎,看的人头都大了,差不多明白了,总结一下. prototype:创建的每一个函数都有一个prototype属性,这个属性指向一个prototype对象.即他是通过构造函数而创建的实例对象的原型对象(属性存在于构造函数中). constructor:这个属性在原型对象中,指向函数中的prototype属性.(存在于原型对象中,原型对象===原型) _proto_:这个属相存在于实例中,指向原型. 举个栗子: function ljd(){ this.name="ljd&quo