JavaScript 函数的深度剖析与应用
1. 函数的存在意义
在编程中,函数的一个重要作用是避免代码重复。将常用的功能封装成子程序,也就是函数,能带来显著的好处。这种通过封装代码避免重复的概念非常基础,甚至催生了一个缩写:DRY(Don’t Repeat Yourself)。当有人说 “This code here could be more DRY” 时,意思是代码中存在不必要的功能重复。
纯函数则以更抽象的方式回答了 “为什么需要函数” 这个问题。纯函数能让编程更像数学,并且使代码更易于测试、理解和移植。与之相对,那些在不同情况下返回不同值或有副作用的函数,会与它们的上下文紧密相连。例如,一个有用但有副作用的函数,从一个程序移植到另一个程序时,可能无法正常工作,甚至可能大部分时间正常,但偶尔会引发严重的错误。所以,我们应优先选择纯函数,尽管有时创建有副作用的函数会更简单。
2. 函数是对象
在 JavaScript 中,函数是 Function 对象的实例。从实际使用角度看,这对函数的使用方式没有影响,但值得注意的是,使用 typeof v 来识别变量类型时,对于函数会返回 “function”,而对于数组则返回 “object”。不过,如果要区分函数和其他类型的对象,最好先使用 typeof 进行测试,因为函数的 v instanceof Object 结果为 true 。
3. IIFEs 与异步代码
IIFEs(立即调用函数表达式)可用于创建闭包,在处理异步代码时非常有用。以一个从
超级会员免费看
订阅专栏 解锁全文
1120

被折叠的 条评论
为什么被折叠?



