01 以前我们写函数是这样的
function add(a,b){
return a+b
}
console.log(add(1,2))
function add(a,b=1){
return a+b
}
console.log(add(1))
02 主动抛出异常
function add(a,b=1){
if(a==0){
throw new Error('A is Error')
}
return a+b
}
console.log(add(0))
03 严谨模式 use strict(作用于全局)
'use strict'
function add(a,b=1){
return a+b
}
console.log(add(1))
但是在es6里面是可以写在函数体内的
不过前提是不能有默认值
比如下面错误用法
function add(a,b=1){
'use strict'
return a+b
}
console.log(add(1))
正确用法:
function add(a,b){
'use strict'
return a+b
}
console.log(add(1,2))
04 获取需要传递的参数个数
function add(a,b=1){
return a+b
}
console.log(add.length)
浏览器显示1
function add(a=3,b=1){
return a+b
}
console.log(add.length)
浏览器显示0
05 箭头函数(重点)
var add=(a,b=1) =>a+b;
console.log(add(1))
当里面的代码不是一行的时候,需要加花括号
var add=(a,b=1) =>{
console.log('888')
return a+b;
}
console.log(add(1))
注意:不能使用new,箭头函数不能使用构造函数
多使用,熟能生巧,多动手,才能记牢~
06 对象的函数解构
let json={
a:'苹果',
b:'香蕉'
}
function fun({a,b}){
console.log(a,b)
}
fun(json)
可以给默认值
let json={
a:'苹果',
// b:'香蕉'
}
function fun({a,b="草莓"}){
console.log(a,b)
}
fun(json)
07 数组解构
let arr=["牛奶","可乐","绿茶","冰红茶"]
function fun(a,b,c){
console.log(a,b,c)
}
fun(...arr)
08 in:判断对象,数组中是否存在某个值
- 判断对象
let obj = {
a:'可乐',
b:'雪碧'
}
console.log('a' in obj)
- 判断数组
let arr=[,,,]
console.log(arr.length)
这种写法不好,容易产生业务逻辑错误,因为我们的数组里面是没有数据的,但是我们打印返回的还是3
我们尝试用in的方式来判断是否是空位
let arr=[,,,]
console.log(0 in arr)
结果会返回false
let arr=[,,,"89"]
console.log(3 in arr)
结果会返回true
09 遍历数组
- 方法1:forEach
let arr=["牛奶","可乐","绿茶","冰红茶"];
arr.forEach((val,index)=>{console.log(index,val)})
- 方法2:filter
let arr=["牛奶","可乐","绿茶","冰红茶"];
arr.filter(x=>console.log(x))
- 方法3:some
let arr=["牛奶","可乐","绿茶","冰红茶"];
arr.some(x=>console.log(x))
10 map:替换
let arr=["牛奶","可乐","绿茶","冰红茶"];
console.log(arr.map(x=>'红茶'))
11 数组怎么转换成字符串
let arr=["牛奶","可乐","绿茶","冰红茶"];
console.log(arr.toString())
let arr=["牛奶","可乐","绿茶","冰红茶"];
console.log(arr.join('//'))
多动手实践,敲起来~~