padstart兼容_显示列出polyfill

padstart兼容_显示列出polyfill?原文链接:欢迎star.今天在看ES7新增的部分Api的时候刚好看到padStart的这个方法,好像还挺实用的,而且也想在正式开始工作之前先找找写代码的感觉,于是顺手(其实还是花了不少时间的)就实现了这个polyfill。相关的API用法在MDN上有说明。链接下面是具体实现if(!String.p…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

?

原文 链接:欢迎 star.

今天在看 ES7 新增的部分 Api 的时候刚好看到 padStart 的这个方法,好像还挺实用的,而且也想在正式开始工作之前先找找写代码的感觉,于是顺手(其实还是花了不少时间的)就实现了这个 polyfill。

相关的 API 用法在 MDN 上有说明。 链接 下面是具体实现

if(!String.prototype.padStart)
    String.prototype.padStart = 
       // 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解
        function (maxLength, fillString=' ') {
            if(Object.prototype.toString.call(fillString) !== "[object String]") throw new TypeError('fillString must be String')
            let str = this
            // 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉
            if(str.length >= maxLength) return String(str)

            let fillLength = maxLength - str.length, 
                 times = Math.ceil(fillLength / fillString.length)
           
           // 这个算法叫啥?
           // SICP 的中文版第 30页 有用到同种算法计算乘幂计算
            while(times >>= 1) { 
                fillString += fillString
                    if(times === 1){
                       fillString += fillString
                    }     
            }
            return fillString.slice(0, fillLength) + str  
        }
// padStart  对于我来说最常用的地方就在于时间或者数字格式补全了

'5'.padStart(2, '0') // '05'
'15'.padStart(2, '0') // '15'

ps:
写完之后突然发现这个好像就是之前 npm 的 left-pad 删库事件;隐约记得好多人都重写过这个库。anyway, 练手的目的算是达到了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197797.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月27日 下午9:01
下一篇 2025年8月27日 下午9:43


相关推荐

  • 天猫送给这些商家“首页置顶”丨 24张PPT详解天猫消费电子2018年商家策略

    天猫送给这些商家“首页置顶”丨 24张PPT详解天猫消费电子2018年商家策略

    2022年4月2日
    63
  • 反应java程序并行机制的特点_【单选题】Java语言具有许多优点和特点,反映了Java程序并行机制的特点的是( )…

    反应java程序并行机制的特点_【单选题】Java语言具有许多优点和特点,反映了Java程序并行机制的特点的是( )…【单选题】Java语言具有许多优点和特点,反映了Java程序并行机制的特点的是()更多相关问题妊娠小便不通,或频数量少,小腹胀急疼痛,坐卧不宁,面色晄白,头重眩晕,短气懒言,大便不爽,舌淡在WDM传输中,色散的有利和有害的影响有哪些?一般可采用什么方法抑制色散的负面影响?下述哪项与妊娠小便不通的特点不符()A.妊娠期间,小便频数量少B.小便不通C.小腹胀急而痛D.烦以下各项中,属于市场调查过程中…

    2022年7月7日
    31
  • 【UCSC Genome Browser】比老东家还出名的基因组数据库

    【UCSC Genome Browser】比老东家还出名的基因组数据库UCSC 基因组浏览器 比老东家还出名的数据库对于生命科学从业者来讲 UCSC 基因组浏览器可能并不陌生 这可是基因组的大百科全书 但是 UCSC 是什么呢 好像是加州大学 什么 什么 分校 好吧 我们一起百度下 UCSC 最先搜索出来的是 UCSCGenomeBr 其次才是他的老东家加州大学圣克什么 分校 当然 这不重要 果然是一款比老东家还要出名的基因组数据库 因为平时工作中经常会用到这个数据库 宝藏一般汇聚了各类信息 使你的工作事半功倍 所以计划仔细研究下这个数据库

    2026年3月19日
    3
  • s3c2440时钟频率「建议收藏」

    s3c2440时钟频率「建议收藏」分类:LINUX++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载!转载请注明出处:http://blog.csdn.net/mr_raptor/article/details/6555734++++++++++++++++++++++++++++++++++++++++++系统时钟MINI2440开发板

    2022年6月14日
    24
  • matlab int8 矩阵,unit8_matlab数据类型转换——int8转换成unit8「建议收藏」

    matlab int8 矩阵,unit8_matlab数据类型转换——int8转换成unit8「建议收藏」在一个驱动程序中看到uint16,uint32,unit8,int8…uint16:无符号16bit整数,uint32:无符号32bit整数,unit8:无符号8bit整数,int8:有符号8bit整数。其作用是程序更加简洁,增强可移植性和可维护性,尤其是在16位机器,32位,或者是64位机器上相互之间移植的时候只需要修改这些宏定义就可以满足要求了,而不需要去修改整个工程里边的每一个变量定义…

    2025年12月14日
    4
  • Android下基于Iptables的一种app网络访问控制方案(一)[通俗易懂]

    Android下基于Iptables的一种app网络访问控制方案(一)[通俗易懂]1.什么是Iptable?百度百科对于Iptables有详细的介绍。简单地说,Iptables是Linux内核提供的一套IP信息包过滤系统,对外由Iptables命令提供设置过滤规则的入口。Android是基于Linux的操作系统,支持Iptables。执行Iptables命令需要root权限。 2.如何配置Iptables命令链?假设一个安卓系统网络访问管理体系,需要针对不同

    2022年7月23日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号