ES6基础知识3——扩展运算符

对象扩展运算符(…):

当编写一个方法时,我们允许它传入的参数是不确定的。这时候可以使用对象扩展运算符来作参数,看一个简单的列子:

function judy(...arg){
    console.log(arg[0]);
    console.log(arg[1]);
    console.log(arg[2]);
    console.log(arg[3]);
}
judy(1,2,3) ;//1 2 3 undefined
judy(0,1,2,3) ;//0 1 2 3

扩展运算符的作用(…):

let arr1 = ['a','b','c'];
let arr2 = arr1;
console.log(arr2);
arr2.push('d');
console.log(arr1);//["a", "b", "c", "d"]
let arr1=['www','judy','yanmeng'];
//let arr2=arr1;
let arr2=[...arr1];
console.log(arr2);
arr2.push('zhu');
console.log(arr2); //['www','judy','yanmeng','zhu']
console.log(arr1); //['www','judy','yanemng']

参数的输出:

//rest运算符
function judy(first,...arg){
    //console.log(arg.length);
    console.log(arg)
}
judy(0,1,2,3,4,5,6,7);//[1, 2, 3, 4, 5, 6, 7]

循环输出函数的参数 judy(first,...arg)

//循环输出参数的值(不包括第一个)
function judy(first,...arg){
    for(let val of arg){
        console.log(val);
    }
}
jspang(1,3,5,7,9,2,4);//3 5 7 9 2 4

for…of的循环可以避免我们开拓内存空间,增加代码运行效率,所以建议大家在以后的工作中使用for…of循环。有的小伙伴会说了,反正最后要转换成ES5,没有什么差别,但是至少从代码量上我们少打了一些单词,这就是开发效率的提高。

字符串模板

//字符串模板
let judy = 'zhuyanmeng';
let miaoshu = `很高兴与您相遇${judy}.谢谢!`; //注意:这个必须是两届好(键盘tab键上面的那个)
document.write(miaoshu );

对运算的支持

let a = 1;
let b = 2;
let result=`${a+b}`; //这个引号特别注意:Tab键上面的引号
document.write('计算结果为'+result); //计算结果为3

字符串的查找

//查找是否存在
let judy = 'zhuyanmeng';
let miaoshu = `很高兴与您相遇${judy}.谢谢!`; //注意:这个必须是两届好(键盘tab键上面的那个)
document.write(miaoshu.includes(judy) ); //true
//判断开头是否存在
document.write(miaoshu.startsWith(judy) );//false
//判断结尾是否存在
document.write(miaoshu.endsWith(judy) );//false

数字验证

//数字验证
let a =2;
console.log(Number.isFinite(a)); //true
console.log(Number.isFinite('judy')); //false
console.log(Number.isFinite('NaN'));//false
console.log(Number.isFinite('undefined'));//false

复制字符串或者数组

//复制字符串/或数组
//我们有时候是需要字符串重复的,比如分隔符和特殊符号,这时候复制字符串就派上用场了,语法很简单。
//repeat(number) repeat可以复制数组也可以复制参数  number复制几次
document.write('jspang|'.repeat(3)); //jspang|jspang|jspang|
document.write('[1,2,3,4]'.repeat(3)); //[1,2,3,4][1,2,3,4][1,2,3,4]


猜你喜欢

转载自blog.csdn.net/weixin_39100915/article/details/80688364