JavaScript中的函数
  n1cpEdgFiIXu 2023年11月01日 30 0

函数: 一个被设计为执行特定任务的代码块

语法

通过function 关键词定义,后面跟着其函数名称,然后是一对圆括号,圆括号中可以定义一些函数的参数。没有名称的函数呢?
函数名称可以包含字母、数字、下划线、中划线和美元符号(命名规则与变量命名一致)。

  // 声明一个函数
  function fnName(param1, param2, ... ,paramN) {

    // do something
    // return what did

  }

通过上面的方式,就创建了一个名称为fnName的函数,至于执行什么特定任务,就看函数体的内容了,比如需要一个把数字乘二的函数。

  function doubleNum(num) {
    const result = num * 2;
    return result;
  }

调用

调用函数是通过()运算符来实现的
使用函数名可以获得函数的定义,而使用函数名 + () 则可以获得函数的执行结果

    console.log(doubleNum); // log function doubleNum(num) { const result = num * 2; return result }
    console.log(doubleNum(2));  // log 4

除了我们手动通过()运算符调用函数,还可以靠浏览器来执行,那就是绑定DOM事件

函数的属性

属性名 属性值 属性规则
name 函数名称
形参 params 定义函数时,在函数名后()中书写的字符,也就是定义时的参数集合
实参 arguments 调用函数时,在()中书写的字符,也就是执行时的参数集合
length 0 或 若干 从形参里第一个参数为普通参数时开始计数,直到最后一个普通参数

length属性的规则有点绕,我们知道函数的参数有三种,第一种是常规参数 function fn(a, b) {},
第二种是默认参数 function fn(a = 1, b = 2) {},
第三种是剩余参数 function fn(a, b, ...rest) {}
而length的计算,正是从第一个参数为常规参数时开始,到最后一个常规参数,如果第一个参数不是常规参数,length就是0。

   function fn1(a, b, c) {}; // 第一个就是常规参数,开始计数,第二个和第三个也是,所以fn1的length为3

   function fn2(a = 1, b, c) {}; // 第一个是带默认值的参数,不计数,后面即使都是常规参数也不会计数了,所以fn2的length为0

   function fn3(a, b, ...rest) {}; // 第一个和第二个都是常规参数,计数, 第三个是剩余参数,不计数,所以fn3的length为2

之所以介绍一下length主要是之前看到一个面试题 123['toString'].length + 123 的值是多少,看了上面的介绍现在你会了吗?

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  f18CFixvrKz8   2024年05月20日   93   0   0 JavaScript
  fxrR9b8fJ5Wh   2024年05月17日   53   0   0 JavaScript
  2xk0JyO908yA   2024年04月28日   41   0   0 JavaScript
n1cpEdgFiIXu
作者其他文章 更多