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

相关推荐
第二只羽毛14 分钟前
C++ 高并发内存池1
大数据·开发语言·c++·开源
不想看见40422 分钟前
C++/Qt 实习岗位深度解析【结合一次研发实习谈感受】
开发语言·c++·qt
吴声子夜歌30 分钟前
TypeScript——泛型
前端·git·typescript
sjmaysee40 分钟前
Java框架SpringBoot(一)
java·开发语言·spring boot
寒秋花开曾相惜42 分钟前
(学习笔记)3.8 指针运算(3.8.3 嵌套的数组& 3.8.4 定长数组)
java·开发语言·笔记·学习·算法
想唱rap1 小时前
Linux线程
java·linux·运维·服务器·开发语言·mysql
kgduu1 小时前
js之客户端存储
javascript·数据库·oracle
Tony Bai1 小时前
Rust 看了流泪,AI 看了沉默:扒开 Go 泛型最让你抓狂的“残疾”类型推断
开发语言·人工智能·后端·golang·rust
四千岁1 小时前
2026 最新版:WSL + Ubuntu 全栈开发环境,一篇搞定!
javascript·node.js
njidf1 小时前
C++与Qt图形开发
开发语言·c++·算法