ES6学习笔记 – 字符串和数值扩展

记录一下几个简单的ES6的字符串和数值方法

字符串扩展

字符串查找(当前版本Chrome已支持)

let a = "hello world!";
a.startsWith("hello"); //true
a.endsWith("!"); //true
a.includes("w"); //true
 
//第二个参数表示搜索位置索引
a.startsWith("ello" , 1); //true
a.endsWith("hello" , 5); //true
a.includes("hello" , 5); //false

字符串重复(当前版本Chrome已支持)

"abc".repeat(3); //"abcabcabc"
"abc".repeat(2.9); //"abcabc" 小数点后的数值会被取整忽略
"abc".repeat(0); //""
"abc".repeat(-3); //负数报错

字符串长度补全(当前版本Chrome还不支持)

"abc".padStart(6,"a"); //"aaaabc"
"abc".padEnd(6,"a"); //"abcaaa"
"abc".padStart(7,"abcdefg");  //"abcdabc"
"abc".padEnd(7,"abcdefg");  //"abcabcd"
"abc".padEnd(2,"abcdefg");  //"abc" 字符串长度参数小于原字符串实际参数,返回原字符串
"abc".padStart(5); // "  abc" 无第二个参数则会用空格补全
 
"123".padStart(6, 0); //"000123" 可用在一些表格显示自动补充数值位数
 
//配合keydown事件用于填写日期的表单格式自动提示
$("#dateInput").on("keydown",function(){
  $("#dataNote").text( $(this).val().padStart(10, 'YYYY-MM-DD'));
});

数值扩展

判断是否整数

Number.isInteger(25.1); //false
Number.isInteger("25"); //false

取整

Math.trunc(4.9); //4
Math.trunc(-4.1); //-4 
//其实是Math.ceil的负数情况和Math.floor的正数情况的结合

立方根

Math.cbrt(8); //2

顺便复习一下ES5里面的平方根

Math.sqrt(0.64); //0.8

ES5的任意次幂

Math.pow(8, 1/3); //2

勾股定理实用计算方法
这个方法是返回所有参数的平方之和,再开根号

Math.hypot(3,4); //5

此外还增加了一些对数、双曲函数等方法,Math这个对象被扩展得挺丰富的。就是业务代码不太会用到那些,就不想记录了,等要用再查手册吧。

指数运算符**

2**2 // 4
2**=3 // 8
 
let a = 2;
a **= 3;//8
//相当于 a = Math.pow(a , 3);

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/1873.html。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

如本文对你有用,请在页面右侧栏扫码领取我的支付宝红包,作为打赏吧 (喂到底是我赏你还是你赏我啊-_-!)

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

发表评论

电子邮件地址不会被公开。 必填项已用*标注