1. 直接调用函数

直接调用函数是最常见、最普遍的方式。这种方式以函数附加的对象作为调用者,在函数后括号内传入参数来调用函数。例如下面的代码:

//调用window对象的alert方法
window.alert(“测试代码”);
//调用p对象的walk方法
p.walk()

当程序使用window对象来调用方法时,可以省略方法前面的window调用者。

2. 以call()方法调用函数

直接调用函数的方式简单、易用,但这种方式不够灵活。有时候调用函数时需要动态地传入一个函数引用,此时为了动态地调用函数,就需要使用call方法来调用。

<script type="text/javascript">// 定义一个each函数var each = function(array , fn){for(var index in array){// 以window为调用者来调用fn函数,// index、array[index]是传给fn函数的参数fn.call(null , index , array[index]);}}// 调用each函数,第一个参数是数组,第二个参数是函数each([4, 20 , 3] , function(index , ele){document.write("第" + index + "个元素是:" + ele + "<br />");});
</script>

不难看出,call()函数的格式是:

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

执行结果是:

3. 以apply()方法调用函数

apply()方法与call()方法的功能基本相似,它们都可以动态地调用函数。apply()与call()的区别如下:

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

2)        通过apply()动态地调用函数时,可以在括号中以arguments来代表所有参数

<script type="text/javascript">// 定义一个函数var myfun = function(a , b){alert("a的值是:" + a+ "\nb的值是:" + b);}// 以call()方法动态地调用函数myfun.call(window , 12 , 23);var example = function(num1 , num2){// 直接用arguments代表调用example函数时传入的所有参数myfun.apply(this, arguments);}example(20 , 40);// 为apply()动态调用传入数组myfun.apply(window , [12 , 23]);
</script>

运行结果:

      

JavaScript之调用函数的方式相关推荐

  1. Javascript和JQuery函数定义方式

    Javascript 函数定义方式 1.function show() {     } 2.var cal = function() {     },必须先声明才能调用 示例: <html> ...

  2. js调用php函数兵每秒刷新,深入理解JavaScript立即调用函数表达式(IIFE)

    立即调用函数 目录一.了解立即调用函数表达式 二.立即调用函数表达式报错了? 三.使用立即调用函数的正确姿势 四.常见使用场景 写在最后 一.了解立即调用函数表达式 1.1 思维导图 1.2 什么是立 ...

  3. vue中如何实现用JavaScript调用函数的方式使用一个通用的通知组件

    VUE2 createAPI插件 VUE3 createApp加mount 其实就是像挂载app根组件一样的方式,创建一个新的dom节点,把当前通用组件挂载上去 vue.extend也可以实现这个功能 ...

  4. JavaScript定时调用函数(SetInterval与setTimeout)

    setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码. 不过这两个函数还是有区别 ...

  5. html onblur 函数执行了2次,JavaScript“onblur事件”调用函数失效 原因与解决方法

    由于JavaScript事件有很多,例如: 鼠标事件:onclick 键盘事件:onkeydown.onkeypress 表单事件:onblur.onchange 窗口事件属性:onerror.onl ...

  6. JavaScript高级之函数进阶

    1. 函数的定义和调用 1.1 函数的定义方式 函数声明方式 function 关键字 (命名函数) 函数表达式 (匿名函数) new Function() Function 里面参数都必须是字符串格 ...

  7. 带你学习Javascript中的函数进阶(一)

    文章目录 1. 函数的定义和调用 1.1 函数的定义方式 1.2 函数的调用方式 2. this 2.1 函数内this的指向 2.2 改变函数内部this指向 2.3 call apply bind ...

  8. C语言指针调用函数_只愿与一人十指紧扣_新浪博客

    涨姿势啦!指针调用函数的方式不小心被我学会啦! #include int max(int *a) {     int i,m;     m=*a;     for(i=0;i<10;i++)   ...

  9. Javascript中匿名函数的多种调用方式

    avascript中定义函数的方式有多种,函数直接量就是其中一种.如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数.好,看看匿名函数的如何被 ...

  10. JavaScript 函数定义方式

    函数的定义 通俗的来讲,函数是由事件驱动的或者当它被调用时执行的可重复使用的代码快.它是 JavaScript 语言一个即重要又复杂的组成部分,任何一个 JavaScript 框架,如 Dojo.jQ ...

最新文章

  1. 天气预报都哪儿去了?
  2. 【项目实战】多场景下的图表可视化表达
  3. ArcGIS删除地图投影坐标,只保留地理坐标
  4. D - 卿学姐与魔法
  5. Java面试详解(2020版):500+ 面试题和核心知识点详解
  6. Swoole 2019 :化繁为简、破茧成蝶
  7. (组合数学笔记)Pólya计数理论_Part.7_Pólya定理的母函数形式
  8. 图标截取——背景偏移量技术
  9. win11怎样在多屏中设置主显示器 Windows11主显示器的设置方法
  10. php mysql异常捕获_PHP中try{}catch{}的用法及异常处理.对数据库的事物支持
  11. 利用模态DIV结合UpdateProgress防止页面重复提交
  12. Ubuntu 14.04 开机手动开启numlock led
  13. 百度网盘机器人好友群组消息虚拟商品自动发货回复软件机器人助手
  14. 答应了邮件offer还能反悔吗?
  15. 看一看golang的官方包:strings
  16. 【转载】AE表达式中英文对照
  17. 用 Java 实现一个远程控制客户端
  18. Python Web框架 Django项目搭建与测试详解
  19. ABAQUS报错:“ADJUST cannot be used for non-faceted surfaces.”
  20. python flask/ tornado简单demo

热门文章

  1. C# 取Visio模型信息的简易方法
  2. C# 获取打开的EXCEL中某列的行数
  3. 一款基于jQuery可放大预览的图片滑块插件
  4. 菜鸟评python,F#,Go
  5. 计算机网络物理层之信道复用技术
  6. BGP中的环路和次优路径问题
  7. Linux下学习进程控制
  8. SourceTree Win10 安装不成功解决过程记录
  9. 从头开始学Android之(一)——— Android架构
  10. Silverlight获取子控件和父控件方法