es3中使用es6/7的字符串扩展
最近在看阮一峰的《ES6标准入门》,在字符串扩展一节中有提到几个新的扩展,觉得挺有意思,想在ES3里面使用,于是就有下面的兼容性写法。
repeat
将一个字符串重复n次
String.prototype.repeat||(String.prototype.repeat=function(number){
var r=[],i
if(Object.prototype.toString.call(number)!=='[object Number]'
||number<0){
return ''
}
number=parseInt(number)
for(i=0;i<number;i++){
r.push(this)
}
return r.join('')
})
includes
查找字符串中是否包含某字符串,返回bool值
String.prototype.includes||(String.prototype.includes=function(str,index){
return this.substr(index).indexOf(str)>0
})
startsWith
判断字符串是否以某个字符串开头,返回bool值
String.prototype.startsWith||(String.prototype.startsWith=function(str,index){
return this.substr(index).indexOf(str)===0
})
endsWith
判断字符串是否以某个字符串结尾,返回bool值
String.prototype.endsWith||(String.prototype.endsWith=function(str,index){
var v=this.substring(0,index)
return v.indexOf(str)===v.length-str.length
})
padStart padEnd
补全长度
String.prototype.padStart||(String.prototype.padStart=function(length,str){
var result=[]
length=length-this.length
str=(str||" ")+''
for(var i=0;i<length;i++){
result.push(str.substr(i%str.length,1))
}
result.push(this)
return result.join('')
})
String.prototype.padEnd||(String.prototype.padEnd=function(length,str){
var result=[this]
length=length-this.length
str=(str|| " ")+''
for(var i=0;i<length;i++){
result.push(str.substr(i%str.length,1))
}
return result.join('')
})
补全这里,还有一个格式化的功能还没写完,后续会继续更新
这几个扩展更详细的介绍可以看这里
去github上面查看更完整的代码
es3中使用es6/7的字符串扩展的更多相关文章
- 【ES6基础】字符串扩展
4.字符串扩展 (1)for...of循环遍历. let foo = [1,2,3,4,5,6] for(let i of foo){ console.log(i); } 结果: (2)include ...
- es6基础(4)--字符串扩展
//字符串扩展 { console.log('a','\u0061'); console.log('s','\u20BB7');//超过了0xffff console.log('s','\u{20BB ...
- es6 语法 (字符串扩展)
{ console.log('a',`\u0061`); //a,a console.log('s',`\u20BB7`); //s ₻7 console.log('s',`\u{20BB7}`) / ...
- ES6中字符串扩展
ES6中字符串扩展 ① for...of 遍历字符串: 例如: for(let codePoint of 'string'){ console.log(codePoint) } 运行结果: ② in ...
- ES6字符串扩展
前面的话 字符串是编程中重要的数据类型,只有熟练掌握字符串操作才能更高效地开发程序.JS字符串的特性总是落后于其它语言,例如,直到 ES5 中字符串才获得了 trim() 方法.而 ES6 则继续添加 ...
- ES6学习历程(字符串的扩展)
字符串的扩展 在看这一节的时候前半部分写的都是关于unicode的内容,我个人感觉这部分在实际的开发中用的很少,所以不打算在做记录,等届时用到再有针对性的看,所以就将在ES6里面关于字符串操作的一些新 ...
- 【ES6 】ES6 字符串扩展及新增方法
模板字符串 传统写法 var str = 'There are <b>' + basket.count + '</b> ' + 'items in your basket, ' ...
- ES6学习笔记(字符串和数值)
(一)字符串的扩展 1.字符串的遍历 for (let codePoint of 'foo') { console.log(codePoint) } // "f" // " ...
- ES6对数组的扩展(简要总结)
文章目录 数组的扩展(ES6) 1. 扩展运算符 2. Array.from 3. Array.of() 4. copyWithin() 5. find() 和 findIndex() 6. fill ...
随机推荐
- Spring MVC中数据绑定(转)
Spring MVC中数据绑定 比如Product有一个createTime属性,是java.util.Date类型.那么最简单的转型处理是,在SimpleFormController中覆盖initB ...
- hdu1161Eddy's mistakes
Problem Description Eddy usually writes articles ,but he likes mixing the English letter uses, for e ...
- 多加注意对null和“”的处理
程序中对一些需要再次取值的引用类型参数,在引用之前,请千万注意对空的判断.当不清晰返回结果是null还是""时,应先判断null,再判断空字符串. LOFTER:我们的故事 h ...
- jQuery常用选择器汇总
一.基本选择器 <body> <div> <div id="div1"> aaaaaaaaaaa</div> <div cla ...
- linux下tar用法
以下是linux下tar的用法,转一下,以便方便自己看(这里没把rar,zip类的转过来,一般rar,zip在linux下基本没人用,基本上是zip,unzip,rar,unrar,这些命令,并且ra ...
- Apple Catching(POJ 2385)
Apple Catching Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9978 Accepted: 4839 De ...
- PIL参考手册
Python Imaging Library Handbook http://effbot.org/imagingbook/pil-index.htm 随机验证码的产生 import Image, I ...
- c#以文件流的形式输出xml(可以解决内存溢出)-XmlTextWriter
1.XmlTextWriter 表示提供快速.非缓存.只进方法的编写器,该方法生成包含 XML 数据(这些数据符合 W3C 可扩展标记语言 (XML) 1.0 和“XML 中的命名空间”建议)的流或文 ...
- hdu 1208 Pascal's Travels
http://acm.hdu.edu.cn/showproblem.php?pid=1208 #include <cstdio> #include <cstring> #inc ...
- 8051_asm.uew
/L20"8051 Assembly" AASM_LANG Line Comment = ; Nocase String Chars = ' File Extensions = S ...