一、函数参数的解构赋值:
![](https://img-blog.csdnimg.cn/img_convert/30d4b914742d967b5af34c86c8541eef.png)
函数的参数也可以设置默认值,值为undefined触发默认值
![](https://img-blog.csdnimg.cn/img_convert/90a486879da27287f8157f898c6f8f79.png)
二、解构赋值的用途:
交换变量的值
![](https://img-blog.csdnimg.cn/img_convert/d455f74eb9628694455a47ebfc9d5491.png)
从函数中返回多个值
“,”返回最后一个值
3、提取json数据(后台服务器一般返回值json数据)
三、字符串新增方法:
includes(ele,startindex):判断str是否包含ele,返回值是布尔值
startsWith(ele,startindex)):判断str是否以ele开头,返回值是布尔值
endsWith(ele,n)):判断str是否以ele结束,(n表示前n个字符)返回值是布尔值
repeat()将字符串重复n次
![](https://img-blog.csdnimg.cn/img_convert/149dee88e8ee8944295602c837ccdd7c.png)
padstart( length, str)
length<=字符串的长度,返回原字符串
![](https://img-blog.csdnimg.cn/img_convert/62bdcf110d1091ec3593679676c086a3.png)
padEnd( length,str)
![](https://img-blog.csdnimg.cn/img_convert/334f2db6d74398203ec2c18e51f93161.png)
去除空格
![](https://img-blog.csdnimg.cn/img_convert/bb550f07fb137c41eb73ce9cc2665c1b.png)
去除前后端空格
![](https://img-blog.csdnimg.cn/img_convert/f803cadcccab25358c7dc1ca33f6d72e.png)
四、数值的扩展
1.Number.isFinite()·检测是否有限,刻l果是非数值类型返回false
![](https://img-blog.csdnimg.cn/img_convert/cb6e138994c9c44fa2e45593a3a5eec6.png)
2.Number .isNaN()·检测是否为NaN,如果是非数值类型返回false
![](https://img-blog.csdnimg.cn/img_convert/4f9d256f0635d40a307a97f96867a6d5.png)
3.parseInt(ele, radix)
radix取值范围是[2,36]radix不写默认10进制
radix <2或者>36返回NaN
radix ==0相当于radix =10
![](https://img-blog.csdnimg.cn/img_convert/eb72d225ae88746b45608c0a9c82d0ac.png)
4.Number.isInteger()判断一个数值是否为整数,不是数值类型返回false
![](https://img-blog.csdnimg.cn/img_convert/7fda156549691bf4a5e2561ac5ffdd71.png)
5.Math.trunc()去除小数部分
6.Math.hypot() 求平方和的平方根
五、函数的拓展
1、
函数参数设置默认值,参数名不能同名
function myfun2(x,x= 1){//报错
/ /let x;
//let x=1;
console.log(×);
}
myfun2()
函数的默认值也是惰性求值;
函数的length属性:函数形参的个数
//设置默认值的参数不是尾参数,默认值之后的参数不计入length值
![](https://img-blog.csdnimg.cn/img_convert/7da97af423ec712af79292bee6de8a41.png)
//剩余运算符不计入length属性
![](https://img-blog.csdnimg.cn/img_convert/210cb22cd46112bfaef497b96b65fd1f.png)
2、作用域(形参作用域):
函数参数旦设置默认值,参数形参个作用域,当初始化完毕,作用域就会消失
![](https://img-blog.csdnimg.cn/img_convert/d559b681fa86b0087236721e48121d0b.png)
![](https://img-blog.csdnimg.cn/img_convert/435cda268ec7d11e73f19387612fd4b3.png)
3、箭头函数 普通函数的优化
3.1、语法:
当实参的只有一个,()可以省略
//·当实参的只有一个,()可以省略,设置返回值{}可以省略,只有一条语句
参数大于1,()不可以省略
3.2、箭头函数中没有this,this指向就近function声明内部的this
3.3、箭头函数函数中没有arguments对象
![](https://img-blog.csdnimg.cn/img_convert/33ddd70ee12f717f94c664ce2fdb94e3.png)
注意,rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错
3.4、箭头函数不能作为构造函数,因为箭头函数没有自己的this对象
3.5、普通函数与箭头函数的区别:
箭头函数是优雅版的普通函数
箭头函数中没有this,this指向就近function声明内部的this
箭头函数函数中没有arguments对象,可以用rest参数代替
箭头函数不能作为构造函数