JavaScript调用函数的三种方式(直接调用,call()方法调用,apply()方法调用)

JavaScript调用函数的三种方式(直接调用,call()方法调用,apply()方法调用)

1.直接调用

直接调用函数是我们平时使用JS函数最简单最直接的方法,举例如下:

window.alert("aaa");

这段代码将在浏览器中弹出文本为“aaa”的提示,通常,我们可以把JS中window对象的方法的“window.”省略掉,写成这样:

alert("aaa");

效果相同

2.通过call()调用

语法:函数引用.call(调用者,参数1,参数2,......,参数n)

由此得到直接调用函数与通过call调用函数的关系如下:

调用者.函数(参数1,参数2,...)=函数.call(调用者,参数1,参数2,...)

例如:

浏览器将出现一个写着"a的值是:1,b的值是:2"的提示框

3.通过apply()调用

语法:函数引用.apply(调用者,[参数1,参数2,...])

由此可见,call()和apply()的关系如下:

函数引用.call(调用者,参数1,参数2,...)=函数引用.apply(调用者,[参数1,参数2,...])

例如:

call()和apply()调用的区别:

通过call()调用时必须在括号中详细地列出每个参数

通过apply()动态调用函数时,需要以数组形式一次性传入所有调用参数