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 参数)和短路逻辑运算符 (||)

相关推荐
小小小小宇8 分钟前
Pi 手动添加
前端
然我19 分钟前
模型不是 Agent:从零实现一个最小 Agent Loop
前端·人工智能·agent
mONESY23 分钟前
我用 Next.js 16 + Supabase 从零做了个「背单词」H5 应用
javascript
boooooooom26 分钟前
手把手做一个图 RAG 烹饪问答系统:Neo4j + Milvus + LLM 的工程实践
前端·javascript·后端
小小善后师27 分钟前
HID 设备对接技术解析:基于本地中间服务的 WebSocket 通信模式
前端
黄油面包29 分钟前
Codex 额度三天见底后,我重新做了一周预算
前端·人工智能
PedroQue9932 分钟前
v2.7.1:修复 H5 端返回死循环闪烁问题
前端·uni-app
coderCN33 分钟前
Nodejs express+knex(ORM框架)
前端·node.js
求道於盲37 分钟前
python中的抽象类
前端
Csvn1 小时前
CSS 层叠与现代布局:BFC、@layer 与 grid/flex 的取舍
前端