“To be is to be perceived. ”
argument
—为什么要用 shift.call之类的方法实现array.shift
因为arguments是一个类数组对象,虽然他也有下标,但并非真正的数组,所以他不能和数组一样进行排序添加之类的操作,这种情况下 借用array.prototype对象上的方法,可以对arguments完成push,shift等操作,array.prototypr.slice()就可以吧arguments转换成真正的数组
function(a,b,c){
[].slice.call( arguments ) // 转化为数组
// 取第一个参数
[].shift.call(arguments)
Array.prototype.shift.call(arguments) //or
}