4_IIFE
发表于|更新于|Backend Dev
|浏览量:
Javascript - 立即调用函数表达式
IIFE(立即调用函数表达式)
IIFE 是定义后立即运行的函数。
1 | (function () { |
箭头版本
1 | (() => { |
为什么用在后端?
- 隔离变量
- 运行启动配置一次
- 避免全球污染
1 | const config = (() => { |
下一主题: 异步/等待
文章作者: xhj
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!
相关推荐
2025-01-02
Benefits
从第一原理学习后端工程的好处假设您是一名软件工程师,并且您被分配到修复大型生产代码库中后端错误的任务。 您可能会面临几个挑战: 后端语言或框架可能不熟悉 代码库可能庞大且复杂 可能没有明确的起点 您必须遵循现有的架构和标准 你无法承担破坏生产系统的后果 或者想象一下您被要求从头开始构建一个 API。问题立即出现: 我应该从哪里开始? 我应该如何构建代码? 我如何遵守公司标准? 我如何设计它以实现可扩展性和可维护性? 现在考虑另一种情况:您主要使用 TypeScript 或 Go,但是您需要修复的错误是用 FastAPI 或其他不熟悉的堆栈编写的。逐行阅读文档既缓慢又低效。 这就是从第一原理学习后端变得强大的地方。 从第一原理学习意味着什么?从第一原理学习意味着理解后端系统的核心是如何工作的,而不是记住语法、框架或库。 它的重点是: 请求如何流经系统 数据如何验证、处理和存储 不同后端组件如何交互 为什么系统以某种方式设计 主要优点1. 纵观全局的能力而不是迷失在复杂的代码库中,您可以在心里将系统分解为以下组件: 路由 控制器 服务 中间件 数据库层 您开始识别模式...
2025-06-06
CUDA学习笔记
CUDA 学习笔记 学习资料: 代码仓库:https://github.com/RussWong/CUDATutorial 01-02. hello world123456789101112131415#include <stdio.h>#include <cuda.h>#include <cuda_runtime.h>__global__ void hello_cuda() { // 泛指当前线程在所有block范围内的全局id unsigned int idx = blockIdx.x * blockDim.x + threadIdx.x; printf("block id = [ %d ], thread id = [ %d ] hello cuda\n", blockIdx.x, idx);}int main() { hello_cuda<<< 1, 1 >>>(); cudaDeviceSynchronize();...
2025-02-02
C++学习路线
C++ 学习路线C 语言基础 郝斌老师的 C 语言教程(选看) C++ 基本语法 黑马程序员的 C++ 教程(必看) C++ 基础知识 《C++ Primer 第五版》(必看,这个更好) 《C++ Primer Plus 第六版》(选看) 在看这本书的时候记得不要跳过课后练习题,没必要每道题都要仔仔细细的做,但是每小节后的前 2-3 题绝对需要自己做一下。 C++ 高级特性 侯捷老师的 STL 泛型编程、C++11 新特性、内存管理与分析(必看) 侯捷老师的程序的生前死后(选看) Linux 网络编程 《TCP/IP 网络编程》(必看) 《Linux 高性能服务端编程》(必看) 前者是本很好的书,原因就是手把手教你写代码,这是真的手把手教你写代码,唯一不好的点就是书中的很多知识讲的太浅了,很多功能和原理都只是一笔带过,远远不如《Linux 高性能服务端编程》讲的深。 后端开发 陈硕老师的《Mudo:Linux 多线程服务端编程》(选看) 牛客网的 Linux C/C++ 服务器的开发专栏 并发编程/模板元等 《C++ 沉思录》 《...
2025-06-07
Java学习笔记
Java SE基本语法方法重载 方法名相同 参数列表不同(个数、类型、次序) 方法重载与访问修饰符、返回值类型、方法参数的名字都没有关系。 参考资料: [Java中的方法重载_callmexinshou的博客-CSDN博客_java方法重载](https://blog.csdn.net/callmexinshou/article/details/123893783?ops_request_misc=&request_id=&biz_id=102&utm_term=Java中的方法重载 callme&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-123893783.142^v47^pc_rank_34_1,201^v3^control_2&spm=1018.2226.3001.4187) 面向对象继承子类可以继承父类的私有属性,但是不能继承父类私有属性的访问权限。 即子类其实是可以继承父类的所有成员的,...
2025-02-17
principles-of-concurrent-programming
Principles of Concurrent ProgrammingThreadLocal PrinciplePlease refer to P40. Each Thread object has two instance fields. Principles of LongAccumulator下文中的 slot 值 Striped64 中 cells[] 数据的元素。 LongAccumulator.java123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051// accumulate function decide how to accumulate old value and new valueprivate final LongBinaryOperator function;// the identity value equivalent to superclass instance field base.// In the cons...
2025-02-16
performance-note
Performation RelatedCacheCPU 缓存结构对于 X86 架构 CPU,L1 和 L2 为每个 core 独享,L3 为所有 core 共享。L1 可以分为 L1D 和 L1I,即 数据一级缓存 和 指令一级缓存。 一般来说,并行只能提升计算耗时,而不能减少内存读写耗时。 分支预测(Branch Prediction)深入理解CPU的分支预测(Branch Prediction)模型why is processing a sorted arrry faster than processing an unsorted array 因为分支发生在一个类似if语句的条件判断时,由于判断这个if是否成立会耗费很多个周期,所以CPU先根据分支预测给出的地址把下一条指令送上流水线,而很多个周期后给出的”if 成立与否(是否跳转)”就是你说的”判断是否猜错”.分支预测当然是有意义的,由于程序执行的”局部性原理”,分支预测在现代CPU上会达到很高的正确率(>95%),所以猜错虽有代价但概率很小. Demo Code: Unsorted Array: 1234567...