每天都要抽空带着问题来学习,这样不至于把学到的知识忘光光,希望自己能持之以恒。学到的知识,如果工作中用不到,真的好容易忘记。所以必须坚持写笔记啦。
今天的题目是:
------------------------------------------------------------
arguments之前在看视频时有印象,好像是为了解决兼容问题,触发事件常常要这样写:var e=window.event||arguments[0]。后来知道arguments是一个类数组对象。
正好趁此机会,百度上查一查这个arguments吧。
1.类数组对象,有length属性,下标索引从0开始,可以通过下标获取值,如arguments[0]、arguments[1],但是没有数组的push、pop等方法;
2.arguments类数组收集着实参副本,而不是形参;
如:fun(a,b,c){},调用时fun(1,2,3,4,5),这样arguments里就有1、2、3、4、5这5个值;
3.arguments每个函数都会有,它包含了函数所要调用的参数。因此arguments只会在内部找自身的arguments,无法应用到外层的arguments。
4.arguments还有callee属性,这个属性可以调用正在执行的函数。
5.arguments示例:
<script>
function fun(a,b,c){
console.log(arguments); //[1,2,3]
console.log(arguments[0]); //1
}
fun(1,2,3);
</script>