WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院网页设计JavaScript javascript通过prototype属性扩充String功能 阅读

javascript通过prototype属性扩充String功能

 2008-11-14 20:02:24 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劖顐煎☉妯锋瀻闁归偊鍓涘▔姘舵⒑閸涘⿴娈旀繛灞傚妼閳绘捇骞嬪┑鎰濡炪倖姊婚崢褏鎲撮敓锟�
核心提示:String.length作用:这实际上是 String 类的一个属性,但是由于 javaScript 将全角、半角均视为是一个字符,javascript通过prototype属性扩充String功能,在一些实际运用中可能会造成一定的问题,现在我们通过 PRototype 来弥补这部不足,也可以进一步扩充,得出响应的小

String.length
  作用:这实际上是 String 类的一个属性,但是由于 javaScript 将全角、半角均视为是一个字符,在一些实际运用中可能会造成一定的问题,现在我们通过 PRototype 来弥补这部不足。
  实现方法:
  String.prototype.cnLength = function(){
     var arr=this.match(/[^\x00-\xff]/ig);
     return this.length+(arr==null?0:arr.length);
   }
  试验:alert("EaseWe空间Spaces".cnLength()) -> 显示 16
  这里用到了一些正则表达式的方法和全角字符的编码原理。

Date.DayDiff()
  作用:计算出两个日期型变量的间隔时间(年、月、日、周)
  实现方法:
  Date.prototype.DayDiff = function(cDate,mode){
     try{
       cDate.getYear();
     }catch(e){
       return(0);
     }
     var base =60*60*24*1000;
     var result = Math.abs(this - cDate);
     switch(mode){
       case "y":
         result/=base*365;
         break;
       case "m":
         result/=base*365/12;
         break;
       case "w":
         result/=base*7;
         break;
       default:
         result/=base;
         break;
     }
     return(Math.floor(result));
   }
  试验:alert((new Date()).DayDiff((new Date(2002,0,1)))) -> 显示 329
   alert((new Date()).DayDiff((new Date(2002,0,1)),"m")) -> 显示 10
  当然,也可以进一步扩充,得出响应的小时、分钟,甚至是秒。

Tags:javascript 通过 prototype

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接