(5)String--原型属性prototype

来源:互联网 发布:淘宝主图图片转码 编辑:程序博客网 时间:2024/05/16 06:52

String中没有trim(去除两端的字符串),可以自定义方法,但是只能传参等直接调用,与String对象可以说没什么关系,在js中可以用原型来使用str.trim()
这里就可以使用一个该字符串的原型属性来完成。
原型:就是该对象的一个描述,该描述中如果添加了新功能,那么该对象都会具备这些新功能,而prototype就可以获取到这个原型对象。
需求:想给String对象天界一个可以去除字符串两端空格的新功能,就可以通过原型来完成
给string的原型中添加一个新的功能
注意:给对象添加新的功能直接使用 对象.新内容 即可
String.prototype.len=199;//给String的原型对象中添加一个属性,名为len
①在html中写匿名函数

 String.prototype.trim=function ()//匿名函数         {              var start=0;              var end=this.length-1;              while(start<=end && this.charAt(start)==' ')              {                  start++;                  println(start);              }              while(start<=end && this.charAt(end)==' ')              {                  end--;              }              return this.substring(start,end+1);         }        alert("-"+"  djv kl ".trim()+"-");

②可以写在js文档中方便调用
就是将①中的代码写入js文档中,在网页中加入
《script type=”text/javascript” src=”stringtool.js” 》《/script>》

练习①:将字符串转换为字符数组,用prototype实现

//js文档中function toArray()        {            var arr=new Array(this.length);            for(var i=0;i<this.length;i++)            {                arr[i]=this.charAt(i);            }            return arr;        }//html中       String.prototype.toArray=toArray;        var s="ahcvb".toArray();        alert(s);

练习②:将字符串反转

//js文档:function reverse()        {           var arr=this.toArray();           var len=arr.length;          for(var i=0;i<len/2;i++)          {           var temp;           var p=len-(i+1);//和i调换的元素           temp=arr[i];           arr[i]=arr[p];           arr[p]=temp;         }     return arr.join("");    }//html:       String.prototype.reverse=reverse;        alert("01234".reverse());//Array的jion方法:将数组转换为字符串,元素由指定的分割符隔开,因为要输出字符串,即数组元素之间没有空格,所以用""隔开即可。

在JavaScript中允许函数内也有函数,js中函数就是一个封装体。

原创粉丝点击