1.普通方法
<script type="text/javascript">
var arr1 = [1,2,3,4,5];
var arr2 = [2,2,2,2,2];
arr1.sum = function(){
var result = 0;
for(var i=0;i<this.length;i++){
result+=this[i];
}
return result;
}
alert(arr.sum());
arr2.sum = function(){
var result = 0;
for(var i=0;i<this.length;i++){
result+=this[i];
}
return result;
}
alert(arr2.sum());
</script>
从上面的例子可以看出,对于普通方法而言我们要对每一个对象分别创建一个方法。
2.原型方法
<script type="text/javascript">
var arr = [1,2,3,4,5];
var arr2 = [2,2,2,2,2];
//使用原型方法这个时候你只需要借用构造函数创建一个函数
Array.prototype.sum = function(){
var result = 0;
for(var i=0;i<this.length;i++){
result+=this[i];
}
return result;
}
alert(arr.sum());
alert(arr2.sum());
</script>
3.普通方法和原型方法的优先级比较
<script type="text/javascript">
var arr = [];
arr.number = 10;
Array.prototype.number = 20;
alert(arr.number); //result : 10
//从中我们可以看出,普通方法的优先级高于原型方法
</script>