gpt4 book ai didi

模块中的 JavaScript 跨文件私有(private)状态

转载 作者:行者123 更新时间:2023-11-29 21:43:56 25 4
gpt4 key购买 nike

我正在阅读一篇文章 here ,想知道这段代码是什么意思?特别是这种赋值有什么作用 var _private = my._private = my._private || {}?

var MODULE = (function (my) {
var _private = my._private = my._private || {},
_seal = my._seal = my._seal || function () {
delete my._private;
delete my._seal;
delete my._unseal;
},
_unseal = my._unseal = my._unseal || function () {
my._private = _private;
my._seal = _seal;
my._unseal = _unseal;
};

// permanent access to _private, _seal, and _unseal

return my;
}(MODULE || {}));

最佳答案

你只需要分解它。

var _private = my._private = my._private || {}?

你有两个部分。

第一个是:

my._private = my._private || {}?

这是covered by this question .

如果左侧为真,则 || 运算符解析为左侧,否则为右侧。

第二个是:

var _private = my._private = something

这是covered by this question .

something 的值被分配给 my._private 然后 my._private 的新值被分配给 _private ,这是一个局部范围的变量,因为 it has var .

关于模块中的 JavaScript 跨文件私有(private)状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31917537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com