JavaScript 函数
发布时间:2023-03-08 13:10:41 所属栏目:教程 来源:
导读:在 JavaScript中,函数是头等 (first-class) 对象,因为它们可以像任何其他对象一样具有属性和方法。它们与其他对象的区别在于函数可以被调用。简而言之,它们是 Function 对象。(MDN)
函数就是一段代码片段,调用
函数就是一段代码片段,调用
|
在 JavaScript中,函数是头等 (first-class) 对象,因为它们可以像任何其他对象一样具有属性和方法。它们与其他对象的区别在于函数可以被调用。简而言之,它们是 Function 对象。(MDN) 函数就是一段代码片段,调用函数就是执行函数中的代码。 1. 函数的使用 1.1 语法 函数使用前通常与变量一样需要先进行声明,用 function 关键字定义函数。 // 常见的函数的定义方式 function 函数名(参数, 参数, ...) { 代码片段; return 返回值; } // 调用函数 (执行函数中的代码) var 函数的返回值 = 函数名(参数, 参数, ...); 调用函数就是执行函数中的代码 参数是调用函数的时候传递过去的,在函数执行过程中可以访问到 函数执行完毕后可以有一个返回值,调用函数的地方可以接收到这个返回值 1.2 调用函数 使用 函数名() 的方式即可调用一个函数 以下是一个最简单的函数: function say() { console.log('hello'); } say(); // 输出:"hello" 调用这个函数就会在控制台输出 hello 字符串。 这个函数没有返回值,默认会返回一个 undefined。 1.3 带有参数与返回值的函数 在声明函数的时候,可以对参数也做上说明 假设有一个需求,需要一个计算三角形周长的函数。 计算三角形周长则需要知道三角形三条边各自的长度,然后将他们求和。 定义函数的时候就可以将三条边作为参数进行声明。 function calcPerimeter(a, b, c) { // a, b, c 分别代表三条边 var sum = a + b + c; return sum; } // 调用函数 并将返回值赋值给perimeter var perimeter = calcPerimeter(, , ); 在调用函数的时可以传递值过去,这些值可以在函数中被访问。 在以上 calcPerimeter 函数被调用的时,传递了 3, 4, 5 三个值。 三个值对应到函数声明时定义的三个参数 a, b, c。 所以函数执行过程中 sum 的值为 3 + 4 + 5,即 12,随后 sum 被作为返回值进行返回。 最终变量 perimeter 也会被赋值为12。 2. 怎么运用函数 2.1 合理包装内容 函数可以对代码进行封装,让逻辑更加清晰。 比如如下代码块: // 改写前 var num = ; var flag = false; var i; var len; for (i = , len = num - ; i <= len; i++) { if (num % i === ) { flag = true; break; } } console.log(flag); 以上代码第一眼可能无法看出具体在做什么,仅需要做一点修改,就能有所改善。 // 改写后 function isPrimeNumber(num) { var flag = false; var i; var len; for (i = , len = num - ; i <= len; i++) { if (num % i === ) { flag = true; break; } } return flag; } var num = ; var result = isPrimeNumber(num); console.log(result); 改写后的代码似乎多了几行,但是将其中核心部分包装成了函数。 通过 isPrimeNumber 函数名可以很容易的了解到这一段代码作用是用来判断一个数是否为质数。 当然有个前提就是起一个 可以让大部分人看得懂 的函数名。 2.2 优秀的函数名 优秀的函数名可以帮助他人更容易理解代码,同时当自己一段时间后再回头看代码时,能更容易进入当时写代码时候的思维模式等。 这里提供几个函数命名的建议,具体的命名可以根据团队规范、个人成长等做调整。 2.2.1 拼写准确 准确的拼写十分重要,绝大多数情况下函数名都会是英文单词组成的。 当然许多时候手一快可能就少了一个字母,或者错将 wrap 进行乾坤大挪移拼写成了 warp。 许多情况是无法避免的,经常需要自检。 当然可以借助一些单词的检查插件,如 Visual Studio Code 可以借助 Code Spell Checker 插件来检查单词的正确性。 再者碰到想起的函数名但是单词拼写不出来,尽可能翻词典,日积月累能有大量的词汇沉淀。 2.2.2 尽量不使用拼音或者混用拼写 尽量不要使用拼音或者是首字母缩写。 以下函数名或许会造成困扰: function jslsh() {} function jsNumber() {} 以上是计算两数和函数的命名,可能只有天和地知道这个是什么意思。 当然,如果是自己写 demo 或者测试代码的时候,其实不需要考虑这么多。 2.2.3 有“状态”的函数名 如碰到函数功能是判断是否、有没有、可以的时候,可以带上一些前缀,比如: // 是否登入 function isLogin() {} 同时可以合理的使用动词,比如打开文件就可以使用 openFile 函数名,具体的状态可以根据语境、函数作用、个人习惯等做调整使用。 2.2.4 合理使用缩写 使用词语的缩写尽量使用通用的缩写 如: pwd - password mgr - manager del - delete … 这些缩写大部分开发者是可以看的懂的缩写。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
