javascript之Prototype屬性
阿新 • • 發佈:2018-11-23
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript"> /* 需求:想把getMax與searchEle方法新增 到陣列物件中。 functoin Array(){ this.prototype = new Object(); this.getMax = function(){ } } Prototype注意的細節: 1. prototype是函式(function)的一個必備屬性(書面一點的說法是"保留屬性")(只要是function,就一定有一個prototype屬性) 2. prototype的值是一個物件 3. 可以任意修改函式的prototype屬性的值。 4. 一個物件會自動擁有prototype的所有成員屬性和方法。*/ Array.prototype.getMax = function(){ var max = this[0]; for(var index = 1; index<this.length ; index++){ if(this[index]>max){ max = this[index]; } } return max; } Array.prototype.searchEle= function(target){ for(var i = 0 ; i<this.length ; i++){ if(target==this[i]){ return i; } } return -1; } //var arr = new Array(12,4,17,9); var arr = [12,4,17,9]; var max = arr.getMax();var index = arr.searchEle(9); document.write("最大值:"+ max+"<br/>"); document.write("索引值:"+ index+"<br/>"); </script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文件</title> </head> <body> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript"> /* 練習: 給字串物件新增一個toCharArray的方法,然後再新增一個reverse(翻轉)的 方法 */ //把 字串轉換成字元陣列 String.prototype.toCharArray = function(){ var arr = new Array(); for(var index = 0; index<this.length ;index++){ arr[index] = this.charAt(index); } return arr; } String.prototype.reverse = function(){ //想把字串轉換成字元陣列 var arr = this.toCharArray(); arr.reverse(); return arr.join(""); } var str = "你們厲害啊"; var charArr = str.toCharArray(); document.write("陣列的元素:"+charArr.join(",")); str = str.reverse(); document.write("<br/>翻轉後的字串:"+str); </script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文件</title> </head> <body> </body> </html>
輸出:
陣列的元素:你,們,厲,害,啊
翻轉後的字串:啊害厲們你