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>