翼度科技»论坛 编程开发 JavaScript 查看内容

JavaScript中的函数

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
函数: 一个被设计为执行特定任务的代码块
语法

通过function 关键词定义,后面跟着其函数名称,然后是一对圆括号,圆括号中可以定义一些函数的参数。没有名称的函数呢?
函数名称可以包含字母、数字、下划线、中划线和美元符号(命名规则与变量命名一致)。
  1.   // 声明一个函数
  2.   function fnName(param1, param2, ... ,paramN) {
  3.     // do something
  4.     // return what did
  5.   }
复制代码
通过上面的方式,就创建了一个名称为fnName的函数,至于执行什么特定任务,就看函数体的内容了,比如需要一个把数字乘二的函数。
  1.   function doubleNum(num) {
  2.     const result = num * 2;
  3.     return result;
  4.   }
复制代码
调用

调用函数是通过()运算符来实现的
使用函数名可以获得函数的定义,而使用函数名 + () 则可以获得函数的执行结果
  1.     console.log(doubleNum); // log function doubleNum(num) { const result = num * 2; return result }
  2.     console.log(doubleNum(2));  // log 4
复制代码
除了我们手动通过()运算符调用函数,还可以靠浏览器来执行,那就是绑定DOM事件
函数的属性

属性名属性值属性规则name函数名称形参params定义函数时,在函数名后()中书写的字符,也就是定义时的参数集合实参arguments调用函数时,在()中书写的字符,也就是执行时的参数集合length0 或 若干从形参里第一个参数为普通参数时开始计数,直到最后一个普通参数
length属性的规则有点绕,我们知道函数的参数有三种,第一种是常规参数 function fn(a, b) {},
第二种是默认参数 function fn(a = 1, b = 2) {},
第三种是剩余参数 function fn(a, b, ...rest) {}。
而length的计算,正是从第一个参数为常规参数时开始,到最后一个常规参数,如果第一个参数不是常规参数,length就是0。
  1.    function fn1(a, b, c) {}; // 第一个就是常规参数,开始计数,第二个和第三个也是,所以fn1的length为3
  2.    function fn2(a = 1, b, c) {}; // 第一个是带默认值的参数,不计数,后面即使都是常规参数也不会计数了,所以fn2的length为0
  3.    function fn3(a, b, ...rest) {}; // 第一个和第二个都是常规参数,计数, 第三个是剩余参数,不计数,所以fn3的length为2
复制代码
之所以介绍一下length主要是之前看到一个面试题  123['toString'].length + 123 的值是多少,看了上面的介绍现在你会了吗?

来源:https://www.cnblogs.com/cyancoco/p/17109104.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具