所以,通过一些恶意软件,我看到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)...
发布于 2019-10-13 04:26:38
它通常被称为多填充定义,在javascript中非常常见。如果先前的声明已经定义了CryptoJS,那么它将跳过||之后的内容,即定义。
https://stackoverflow.com/questions/58360456
复制相似问题