在IE下, JS不支持给函数设置默认值, 像下面这样的函数会报错
function love(a, b = 2, c = 1) {
console.log(c)
}
从而造成一些兼容性问题, 为了兼容IE, 上面函数可以这样写
function love(a, b, c) {
//设定第2个变量的默认值
var n = 2
var b = arguments.length > n - 1 && arguments[n - 1] !== undefined ? arguments[n - 1] : 2 //这个2是b的默认值, 写这儿
//设定第3个变量的默认值
var n = 3
var b = arguments.length > n - 1 && arguments[n - 1] !== undefined ? arguments[n - 1] : 1 //最后这个1是c的默认值, 写这儿
console.log(c)
}
IE下给函数的参数设定默认值的格式如下
function love(变量a){
var n = 变量a是第几个参数
var 变量a = arguments.length > n - 1 && arguments[n - 1] !== undefined ? arguments[n - 1] : 变量a的默认值;
}