学习笔记Javascript函数调用
Posted SAP剑客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记Javascript函数调用相关的知识,希望对你有一定的参考价值。
Javascript函数调用
函数调用
函数定义后,并不会自动执行,需要通过调用来实现。在JS中调用通常有四种方式:
函数调用模式;
方法调用模式;
构造器调用模式;
apply、call调用模式;
其中函数调用模式的语法是:函数名([实参列表]);
若实参缺省时,会传“undefined”值给对应的形参;如果实参个数小于形参个数,实参首先按顺序一一对应传给形参,没有实参对应的形参,就会对应传“undefined”值;如果实参个数多余形参,那么多余的实参无效。
再比如下面的例子,将匿名函数定义赋值给变量add,如此一来就可以通过add来调用函数了。注意,函数的调用语句必须放在函数的定义语句之后,否则会出错。
下面再看一个事件注册函数的调用,将匿名函数绑定到按钮的单击事件上面,这样,每次单击按钮的时候都会调用一次匿名函数。
回到上面第一个例子,在调用函数时可以指定任意个实参(最多255个),那么对应到了形参,多余的参数我们是不是就浪费了,要是也想要使用,怎么办?
这里就引入了一个arguments对象的概念,其实,调用函数时传递的实参都会存在于arguments对象中。arguments对象是一个类似于数组Array的东西,用“arguments[下标]”的方式来访问,存放的实际参数个数也可以用“arguments.length”来获取。
有了arguments对象,当函数的参数个数无法确定时,定义函数时可以不用指定形参,但在调用的时候需要根据不同情况传递不同个数的实参,然后在函数中通过下标来访问arguments对象元素。
需要注意的是,arguments的作用域和局部变量一样,仅限于函数内部。另外,如果函数有形参,那么arguments中的元素首先会跟形参一一对应,arguments中的元素值修改会影响形参。
以上是关于学习笔记Javascript函数调用的主要内容,如果未能解决你的问题,请参考以下文章
javascript学习笔记:定义函数调用函数参数返回值局部和全局变量