JavaScript中的函数
函数: 一个被设计为执行特定任务的代码块语法
通过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调用函数时,在()中书写的字符,也就是执行时的参数集合length0 或 若干从形参里第一个参数为普通参数时开始计数,直到最后一个普通参数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 的值是多少,看了上面的介绍现在你会了吗?
来源:https://www.cnblogs.com/cyancoco/p/17109104.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]