javascript - 请解释 CryptoJS 的声明
问题描述
所以,通过一些恶意软件,我看到 CryptoJS 是这样声明的:
var CryptoJS = CryptoJS || function(u, p) {
var d = {},
l = d.lib = {},
s = function() {},
....stackoverflow doesnt allow me to paste all of the code...
_createHmacHelper: function(a) {
return function(b, e) {
return (new n.HMAC.init(a,
e)).finalize(b)
}
}
});
var n = d.algo = {};
return d
}(Math);
我不明白的是这一行:
var CryptoJS = CryptoJS || function(u, p)...
为什么不简单:
var CryptoJS = function(u, p)...
解决方案
它通常被称为polyfill定义,在 javascript 中很常见。如果先前的声明已经定义CryptoJS
,那么它将跳过后面的||
内容,即定义。
推荐阅读
- python - Matplotlib 无法在子图 2 处正确渲染我的子图 1
- json - Flutter:将json响应传递到下一个屏幕
- node.js - 如何在我的网站上向任何机构发送条纹发票?
- python - 如何垂直打印列表
- c - C 中的简单 lua_yield 无法从 Lua 正确恢复
- cmake - lsoda C 库和 CMake
- javascript - 未捕获的类型错误:无法在 myFun 设置未定义的属性“背景颜色”(main.js:3
- python - 在静态地图上绘制移动和旋转多边形
- sql-server - 导出 Visual Studio SQL 项目以在另一台计算机上使用?
- node.js - 安装了 Node 和 Deno 的最高效的 docker 镜像