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());