您现在的位置是:亿华云 > 域名

帮你精通JS:一段函数的进化史

亿华云2025-10-03 02:20:24【域名】2人已围观

简介一、首先写一段求阶乘的函数用 memozation实现一段factorial>varcache={};>>functionfactorial(x){...if(x<2)retu

一、帮精首先写一段求阶乘的段的进函数

用 memozation实现一段factorial

> var cache = { }; > > function factorial(x) {  ...     if (x < 2) return 1; ...     if (!(x in cache)) {  .....         cache[x] = x * factorial(x - 1); .....     } ...     return cache[x]; ... } > factorial(8) 40320 > cache {  2: 2, 3: 6, 4: 24, 5: 120, 6: 720, 7: 5040, 8: 40320 } 

此处 cache 只用于函数 factorial 之内,却过分暴露于外。高防服务器函数化史按照 least exposure(POLE) 将其隐藏起来。帮精直觉方法就是段的进直接将其放入其中。网站模板

二、函数化史初步解决接口过分暴露的帮精问题

重新定义最外层coverTheCache函数将其包裹起来。

> function coverTheCache() {  ...     // "middle scope",段的亿华云计算进 where we cover `cache` ...     var cache = { }; ... ...     return factorial; ... ...     // 

很赞哦!(2553)