construcor属性:
var str=new String("abcdefd"); println(typeof(str)); println(String==str.constructor);////Java的写法: str instanceof String
prototype属性的引例:为String对象添加一个trim()方法
/* javascript基于对象,用原型克隆出对象(obj.prototype) java,面向对象--用类描述对象,内模板或对象 */
//通过对象String的prototype属性可以把它添加变量和方法--其原型对象(已创建)会有,其所有的克隆体也会有
给String对象写一个trim()函数
//通过对象String的prototype属性可以把它添加变量和方法--其原型对象(已创建)会有,其所有的克隆体也会有 //添加变量 String.prototype.ab=100;//加名为ab的属性,类似在java的类模板中添加变量 println("ab:"+ "abc".ab); String.prototype.x=3.14; println("x:"+"aa".x); ///添加方法格式 /*function aa(){ 方法体 } String.prototype.aa=aa;//把一个函数引用赋值给原型对象 函数的匿名方式添加: String.prototype.aa=function(){ 方法体;//那上面的静态方法,将所有的str变成this,调用时直接this.aa() } */ ////////////静态函数方法trim()/////////// function trim(str){ var start=0; var end=str.length-1; while(start<=end&&str.charAt(start)==' ') start++; while(start<=end&&str.charAt(end)==' ') end--; return str.substring(start,end+1); } var str = " abc 123a "; println(trim(str)); //把trim()融入到String对象 String.prototype.trim=function(){ var start=0; var end=this.length-1; while(start<=end&&this.charAt(start)==' ') start++; while(start<=end&&this.charAt(end)==' ') end--; return this.substring(start,end+1); } println(str.trim()); //※也把trim方法融入到String对象中: str.trim()---代码已经移植到tools.js中了
给String对象添加一个toCharArray()方法
//给String对象添加一个toCharArray()方法 String.prototype.toCharArray=function(){ var cha=[]; for(var x=0;x<this.length;x++){ cha[x]=this.charAt(x); } return cha; } var str="abcdef"; println(str.toCharArray());给String对象写一个reverse()方法(回转)
//给String对象写一个reverse()方法(回转) String.prototype.reverse=function(){ var arr=this.toCharArray(); for(var start=0,end=arr.length-1;start<end;start++,end--){ var temp; temp=arr[start]; this.arr[start]=arr[end]; } return arr.join(""); } var arr=[12,3,34,23,21,34,21]; println(arr.reverse());