JS中的闭包应用

js 复制代码
/**
 * @param {string} val
 * @return {Object}
 */
var expectFn = function (val) {
  // TODO
  return {
    toBe(_val) {
      return val === _val || "Not Equal";
    },
    notToBe(_val) {
      return val !== _val || "Equal";
    }
  };
};

// console.log(expectFn(5).toBe(5)); // true
// console.log(expectFn(5).notToBe(5)); // "Equal"

module.exports = expectFn;

return { ... };

这是 expectFn 函数的核心,它返回一个对象(Object)。

这个对象包含了两个方法:toBe 和 notToBe。这意味着可以像 expectFn(5).toBe(5) 这样链式调用。

运用闭包(toBe 和 notToBe 能够访问 expectFn 的 val 参数)和短路逻辑运算符 (||)

相关推荐
烈风逍遥4 分钟前
第七篇:提示词模板管理与 Agent 提示词编排
前端·人工智能·后端
Amos_Web14 分钟前
Rspack 源码解析(十二):JavaScript Chunk 是如何被渲染出来的
前端·rust·源码
前端探险家Rick23 分钟前
React Native 二级弹出面板 + 键盘适配:从踩坑到正确方案
前端
伞伞悦读26 分钟前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
用户9210802628627 分钟前
MCP 是什么?用 Figma MCP 辅助还原 Vue 页面
前端
用户9210802628627 分钟前
用 Figma MCP 还原 Vue 页面时,我遇到的三个问题
前端
修罗王28 分钟前
从 React Bits 到 Vue/Svelte Bits:重新定义前端“视觉表达层“
前端
kiros_wang29 分钟前
Notification 本地通知:定时消息、点击路由跳转、桌面角标适配
前端
CCCCCCCCharlie35 分钟前
Linux进程控制四大核心操作
linux·开发语言