zoukankan      html  css  js  c++  java
  • 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上面查看更完整的代码

  • 相关阅读:
    如何参与linux 内核开发
    绘制dot 图
    GITHUB 提交错误 Error: Permission denied (publickey) 解决
    atomic_read
    linux 获取cpu 个数
    【转】 管理CPU 亲和性
    【转】 申请对齐某种结构体大小的buffer
    WePY框架开发的小程序中使用 echarts折线图
    vue + css3 实现主题色切换
    vue 中 const { x } = this 的用法
  • 原文地址:https://www.cnblogs.com/jiangbingyang/p/5713256.html
Copyright © 2011-2022 走看看