1.模板字符串
模板字符串:使用tab键上的反引号``,插入变量时使用${}
<script>
window.onload=function(){
var name="www"
var age=18
var a=document.getElementById("f");
let dd=`<li id=${age}> ${name}<li>`;
a.innerHTML=dd;
}
2.默认函数
1.默认函数:
<script>
function add(a=10,b=20){
return a+b
}
console.log(add())
</script>
将可以设置形参的值写入
同时也可以设置将其中一个值不输入,在实参的时候赋值
<script>
function add(a,b=20){
return a+b
}
console.log(add(30))
</script>
***注意:这样是nan,说明区分输入位置
<script>
function add(a=30,b){
return a+b
}
console.log(add(30))
</script>
默认值也可以是一个函数
<script>
function add(a,b=getNum(10)){
return a+b
}
function getNum(k){
return k+5
}
console.log(add(10))
</script>
2.剩余参数
1.平常调用属于参数的方法:
<script>
let book={
title:'apple',
pages:100,
autuor:'wb'
}
let getBook=pick(book,'pages','author')
function pick(obj){
let result=Object.create(null)
for(let i=1;i<arguments.length;i++){
console.log(arguments[i])
result[arguments[i]]=obj[arguments[i]]
}
return result
}
</script>
此处用arguments取值,不太方便;ES6中提出了剩余参数来取值;
用...和一个紧跟参数取值
function pick(obj,...keys){
let result=Object.create(null)
for(let i=0;i<keys.length;i++){
result[keys[i]]=obj[keys[i]]
}
return result
}
其解决了arguments问题,因为arguments是一个类数组数据,而类数组是以数组的形式存储的