您的位置:首页 > Web前端 > JavaScript

JS中的String对象的方法和获取原型方法+自定义方法

2015-07-06 23:51 766 查看
<script type="text/javascript">
var str="abcde";//var str=new String("abcde");
str.length //字符串的长度
str.bold();//给字体加粗相当于<b>abcde</b>
str.fontcolor("red") //给字体加颜色
str.link("http://www.163.com");//使字体变成超链接
str.substr(1,3);//一个从指定位置开始的指定长度的子字符串
str.substring(1,3);//方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。

</script>


<script type="text/javascript">
/*
* 发现js中的string对象方法有限,想要对字符串操作的其他功能。
* 比如:去除字符串两端的空格。这时只能自定义。
*/
//去除字符串两端的空格。
function trim(str){
//定义两个变量,一个记录开始的位置。一个记录结束的位置。
//对开始的位置 的字符进行判断,如果是空格,就进行递增,直到不是空格为止。
//对结束的位置 的字符进行判断,如果是空格,就进行递减,直到不是空格为止。
//必须要保证开始<=结束,这样才可以进行截取。
var start,end;
start=0;
end=str.length-1;
while(start<=end && str.charAt(start)==' '){
start++;
}
while(start<=end && str.charAt(end)==" "){
end--;
}
return str.substring(start,end+1);
}
</script>


既然trim方法是用来操作字符串的方法,可不可以像字符串已有的方法一样,

将该方法也定义到字符串对象中呢?直接用字符串对象调用。

这里就可以使用一个该字符串的原型属性来完成:

原型:就是该对象的一个描述。该描述中如果添加了新功能。

那么该对象都会具备这些新功能。

而prototype就可以获取到这个原型对象。

通过prototype就可以对对象的功能进行扩展。

需求:想要给string对象添加一个可以去除字符串两端空格的新功能.

就可以使用原型属性来完成。

String.prototype.trim = function(){
var start,end;
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);
}

//在调用的时候就可以
var  s="sdasd";
s.trim();


/给string的原型中添加一个功能。 注意:给对象添加新功能直接使用 对象.新内容 即可。

// String.prototype.len = 199;//给string的原型对象中添加一个属性 名为len。 值为199.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  原型 javascrpit