prototype 属性使您有能力向对象添加属性和方法。
例子1:向Array对象中添加获取数组最大值和最大值下标的方法
ArrayMax.js
//获取数组最大值
Array.prototype.getzqlMax= function (){var max=this[0];var len = this.length;for (var i=0;i<this.length;i++) {if(this[i]>max){max = this[i];}}return max;
}
//获取数组最大值下标
Array.prototype.getzqlMaxSubscript=function (obj){var i=0;for(var j=0;j<this.length;j++){if(this[j]==obj){i=j;}}return i;
}
在Html中引入,并调用
<script src="js/ArrayMax.js"></script>
<body>
<script type="text/javascript">var zbwArrs = new Array(12,15,13,14,11);var max = zbwArrs.getzqlMax();document.write("数组中的最大值为:"+max+"<br />");var i =zbwArrs.getzqlMaxSubscript(zbwArrs.getzqlMax());document.write("下标:"+i);
</script>
</body>
例子2:将字符串转换为数组,道理一样。看代码
//将字符串转换为数组的函数
String.prototype.ArrayStr = function (){//新建一个数组var a=[];var len=this.length;//字符串的长度for (var i=0;i<len;i++) {//偶用过循环给数组赋值、添加内容a[i]=this.charAt(i);}//返回这个数组return a;
}//新建一个Html引入,调用
<script src="js/StringArr.js" type="text/javascript" charset="utf-8"></script><body><script type="text/javascript">//定义一个数组var str="月光光照大床,赤裸裸穿衣裳。"//调用刚刚写好的函数,返回一个数组var a=str.ArrayStr();//循环这个数组,输出for (var i=0;i<a.length;i++) {document.write(a[i]);}</script></body>