es6扩展

Posted crystal2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6扩展相关的知识,希望对你有一定的参考价值。

扩展
1.字符串扩展
var str="hello world";
substring(1,4) 从第1个到第(4-1)个
substr(1,4) 从第一个往后面数四个
重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
indexOf(searchvalue,fromindex)
//检测是否存在字符串searchvalue 开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

str.startsWith("hello" ,4); //字符串是否是开头 返回true 第二个参数表示搜索的位置
str.endsWith("hello"); //字符串是否是结尾 返回false 第二个参数表示搜索的位置
str.includes("o")//是否存在字符串o 第二个参数表示搜索的位置
if(str.indexOf("o")!=-1)
str.repeat(‘3‘)
str.repeat(‘2.9‘) 重复两次

//补全
var s=‘s‘;
s.padStart(5,‘xy‘)//补全长度为5 xyxys
s.padEnd(4,‘xy‘)//补全长度为4, sxyx
如果s字符串已经超过4,5了 就不做任何操作

模板字符串:${}
$(".list").html(‘<li>‘+item.name+‘</li>‘);
==
$(".list").html(`<li>${item.name}</li>`);

 

var data={
"code":200,
"msg":"success",
"result":[{
"id":1,
"name":"sonia",
"content":"广告投放1"
},{
"id":2,
"name":"crystal",
"content":"广告投放2"
},{
"id":3,
"name":"marry",
"content":"广告投放3"
},{
"id":4,
"name":"green",
"content":"广告投放4"
},{
"id":5,
"name":"king",
"content":"广告投放5"
}]
}
let {code,msg,result}=data;
if(code==200){
$(result).each((index,item)=>{
$(".list ul").append(`<li><span>${item.name}</span><span>${item.content}</span></li>`)
})
}


**************************

//数值的扩展
//方法前面都要加“Number”
Number.paseInt();
Number.parseFloat();

//函数扩展
function fun(x,y){ //分页
y=y ||"10";
console.log(x,y)
}

rest 参数 ...变量名
rest参数和一个变量名搭配使用,生成一个数组,用于获取函数多余的参数

function fun(...values){ //arguments
console.log(values);
console.log(values[0]);
}
fun[123,33]
fun[34,3,90,12]

************************

箭头符号
函数名=参数=>函数体
let f=v=>v
let f=(n1,n2)=>{return n1*n2}
f(1,5)

let f1=(n1,n2)=>({name:n1,age:n2})
f1(6,5)
{name: 6, age: 5}

let f=v=>a(v);
function a(v){
console.log(v*v)
}
f(3)

let f=(...nums)=>a(nums);
function a(v){
console.log(v)
}
f(1,2,3,4,5)

************************

扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列

//...扩展运算符 数值的扩展
let f=(nums)=>a(nums);//此处没有进行扩展运算 所以默认打印第一个
function a(v){
console.log(v)
}
var arr=[1,2,3,4,5]
f(...arr)
结果是1

let fun=function(x,y,z,q){
console.log(x);
console.log(q);
}
var arr=[1,2,3,4]
fun(arr)
结果是[1,2,3,4]

//...扩展运算符 数组的扩展
let fun=function(...num){//...num 接受的就是多个
console.log(num);
}
var arr=[1,2,3,4]
fun(...arr)//...扩展运算符
结果是[1,2,3,4]
数组合并:
var arr1=[1,2];
arr1.concat([3,4,5])
ES6
let arr2=[3,5];
[1,2,3,...arr2]
>结果[1,2,3,3,5]
[...arr2,1,2,3]
>结果[3,5,1,2,3]

以上是关于es6扩展的主要内容,如果未能解决你的问题,请参考以下文章

ES6 扩展运算符

ES6 扩展运算符 三个点(...)

003-正则的扩展数值的扩展函数的扩展数组的扩展对象的扩展

JavaScript ES6 - 函数扩展

JavaScript ES6 - 函数扩展

ES6学习笔记二:各种扩展