广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    JavaScript一个字符串长度的方案对比

    2018-04-13 09:17:34 次阅读 稿源:互联网
    零七广告

    还记得之前讲过的第十三课内容:基本包装类型里面的charCodeAt(n)这个字符串的方法吗?这个就是本节练习的主角了。

    第一种:使用原型方法:String.prototype.getStrLen = function(){ //var time1 = new Date; var _this = this; if(!_this || _this.length == 0) return null; //if(!arguments.length|| !_this ) return null; if(" " == _this) return 0; var l = 0; for(var i = 0; i<_this.length; i++){ if(_this.charCodeAt(i)>255) l+=2; else l++; } //console.log("耗时:" + (new Date - time1) + " 毫秒"); return l;}console.log(str.getStrLen());function strLen(str){ var time1 = new Date; if(str.length ==0 || !str) return null; var l = 0; for(var i = 0; i<str.length; i++){ if(str.charCodeAt(i) >255) l+=2; else l++; } console.log("耗时:" + (new Date - time1) + " 毫秒"); return l;}console.log(strLen(str));function strLength(str){ var time1 = new Date; if(str.length == 0 || !str) return null; var l = str.length; for(var i = 0; i< str.length; i++){ if(str.charCodeAt(i) > 255) l++; } console.log("耗时:" + (new Date - time1) + " 毫秒"); return l;}console.log(strLength(str));

    结果:原本以为使用原型方法会比较快,事实证明这只是我的一厢情愿而已,原型方法计算出来的结果是他们的后面两个的4倍左右。

    而使用函数的方法中,第三种是最快的。

    查看比较结果(用谷歌开发工具打开)

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告