<script type="text/javascript"> //演示对象的方法。 var str = "abcd"; //document.write(str.bold()); //alert(str.bold()); var arr = ["abc","nba","zz","haha"]; document.write(arr.join(", ")+"<br/>"); arr.sort(); document.write(arr.join(", ")); </script>
<script type="text/javascript" src="arraytool.js"></script> <script type="text/javascript" src="stringtool.js"></script> <script type="text/javascript"> //原型的使用。 var arr = [43,120,30,78,35,22]; /* function getMax(arr){ var max = 0; for(var x=1; x<arr.length; x++){ if(arr[x]>arr[max]){ max = x; } } return arr[max]; } var max = getMax(arr); */ //既然是用于操作数组对象的方法,可不可以直接将这个方法定义到数组对象中。 //这样所有的数组对象都可以使用这个方法。 //通过原型属性的方式。Array.prototype相当于获取到了数组的父类的对象的引用。 var max = arr.getMax(); println("max="+max); function println(str){ document.write(str+"<br/>"); } var str = " ab c "; //println("-"+str+"-") alert("-"+str.trim()+"-"); </script>
Array.prototype.getMax = function() {// 给数组对象添加了一个方法,叫做getMax。 var max = 0; for ( var x = 1; x < this.length; x++) { if (this[x] > this[max]) { max = x; } } return this[max]; };
//给string添加一个去除两端空白的方法。trim(); String.prototype.trim = function() { // 1,定义头角标,和尾角标。 var start = 0, end = this.length - 1; // 去除前端空白。 while (start <= end && this.charAt(start) == " ") { start++; } // 去除尾部空白。 while (start <= end && this.charAt(end) == " ") { end--; } return this.substring(start, end + 1); };
<script type="text/javascript"> //按照面向对象的思想编写javascript。 //1,对对象描述。java中使用class。js中可以使用function来完成。 /* //描述Person. function Person(){//相当于构造函数。 alert("person run"); } //通过new关键字创建对象。 var p = new Person(); p.name = "lisi";//给p对象添加了一个name属性。值为lisi。 p.age = 20; p.show = function(){ alert(this.name+"::"+this.age); } p.show(); */ //name,age,show,这些成员,只有p对象有。要想让其他person对象都具备,可以将这些属性定义到描述中。 function Person(name,age){ this.name = name; this.age = age; this.setName = function(name){ this.name = name; }; this.getName = function(){ return this.name; }; } //给Person对象添加新功能。使用原型。 Person.prototype.toString = function(){ return "Person[name="+this.name+",age="+this.age+"]"; }; var p1 = new Person("lisisi",29); p1.setName("wangcai"); //alert(p1.getName()); //alert(p1.toString()); var p2 = new Person("xiaoqiang",23); //alert(p2); /* with(对象){简化调用书写。 直接使用对象中的方法。 } 对象名.成员; 对象名.成员; 对象名.成员; with(对象名){ 成员。 } //p1.setName("a"); //p1.getName(); with(p1){ setName("b"); getName(); } */ /* for(变量 in 对象){ } 用于遍历对象和数组。 */ for(x in p1){//遍历p1的所有成员。 alert(x+":"+p1[x]); } //对象调用成员有两种方式。一,p1.name 二,p1["name"] </script>