唯尔半截湘妃
2016-08-04 17:15
就是我调用startMove(obj,attr,iTraget,fn)这个函数时,为什么我只传递3个参数时,也能调用这个函数。我个人认为startMove(this,‘height’,100),是错误的啊!因为没有3个参数的函数,只有4个参数的函数啊!求解
有一个对象 arguments对象,是用来存储函数调用时传递给该函数的所有参数。
用法 :函数名.arguments 类似数组,需要遍历才能看到值。它有个属性length可以看到实际有几个参数。
当没有传递fn这个参数的时候。获取的值是:函数名.arguments.length=3; ,传递了后就等于4.
分析:个人认为是因为,js专门用这个对象来存储你调用时传递的参数,那么你执行的时候,它就不是去看你定义时有几个参数,而是直接去访问arguments这个对象去获得你实际传送了多少参数。所以才会完美执行。
JS动画效果
113923 学习 · 1443 问题
相似问题