一、函数注释
// 使用‘/** + ENTER’,快速生成函数块注释,详见JSDoc文档
// @param标签后面:{参数类型} 参数名 -描述
// @returns标签后面:{类型} -描述
/**
* 函数的整体相关描述
* @param { String } type -类型,有env和pro两个值
* @param { Number } num -传入的数值
* @returns { Number } -返回的是一个数字
*/
func (type, num) {
if (type == 'env') {
return num;
} else {
return num + 1
}
},
二、使用回调函数
let getMsg = (msg, format) => {
if(msg){
return format(msg)
}
}
let ss = getMsg('我们是中国人', (msg) => {
return msg.slice(0, 2)
})
console.log(ss) //我们
定义外部函数getMsg时,回调函数作为参数传递,并在函数体里调用
调用外部函数时,定义回调函数 msg => {return msg.slice(0, 2)}
三、call、apply、bind
fn.call(obj, param1, param2)
fn.apply(obj, [param1, param2])
fn.bind(obj, param1, param2)()
相同点:
都是借用别人(fn)的方法,替换其中的this(第一个参数)
call和apply的不同点:
apply以数组的形式传递其他参数
call和bind的不同点:
bind返回一个函数,还需要再调用一下
四、如果简写的箭头函数return的是一个对象,这个对象要用括号括起来(语法上的要求)
x => ({key: x})