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,...)例如: var A=function(a,b) { alert("a的值是:"+a+",b的值是:"+b); } A.call(window,1,2);//以window为调用对象,1、2为传入参数,调用A函数浏览器将出现一个写着"a的值是:1,b的值是:2"的提示框 3.通过apply()调用语法:函数引用.apply(调用者,[参数1,参数2,...]) 由此可见,call()和apply()的关系如下: 函数引用.call(调用者,参数1,参数2,...)=函数引用.apply(调用者,[参数1,参数2,...]) 例如: var A=function(a,b) { alert("a的值是:"+a+",b的值是:"+b); } A.apply(window,[1,2]);//以window为调用对象,1、2为传入参数,调用A函数 call()和apply()调用的区别:通过call()调用时必须在括号中详细地列出每个参数 通过apply()动态调用函数时,需要以数组形式一次性传入所有调用参数 |
CopyRight 2018-2019 实验室设备网 版权所有 |