在js函数中我们可能会遇到传入参数不确定以及只需要用到参数中的几个的情况,这时我们不可能去遍历函数自带的arguments对象,这样太傻,下面就是一种方法。
函数的call方法:
fn.call(window,1,2);
这里的的意思为将函数内部的this指针指向改为指向window。
函数中的arguments类数组对象
在函数内的arguments实际上是一个对象,属性名为从0开始依次排列下去,属性值为传入的参数值,有多少的参数就有多少个属性。
函数中获取arguments中的一部分
<script type="text/javascript">
function argsEx() {
var a = [].slice.call(arguments,1,arguments.length);
document.write(a);
}
argsEx('a',1,2,3,4);
</script>
对于数组的slice方法我们可以使用函数的call方法将slice中this的指向改为argumens对象,这样我们就可以轻松的获取arguments中的一部分了。
希望可以帮助到大家!