【发布时间】:2018-01-15 22:45:28
【问题描述】:
我想在我的脚本中实现 java 脚本 Singleton。 Singleton 的一些变量对所有用户都有相同的值,但其他变量在用户之间会非常不同。
我想更好地理解——Singleton 是为所有正在运行的会话创建一个实例,还是每个会话都将管理她自己的对象。 变量之一将是记录器/计数器 - 所有用户/会话是否共享其值?
我的对象看起来像这样:
var VideoLog = (function () {
/** logger vars **/
this.logger = 0;
this.somevar = null;
this.somefunction = function () {
come code..
}
})();
【问题讨论】:
-
仅使用 Javascript,您无法在用户之间共享任何内容。您所描述的是客户端变量(Javascript 变量,在相关的情况下实现为单例)和应用程序变量(在服务器上实现并在所有客户端之间共享)。
-
“所有用户”只能共享来自服务器的值,除非您实施一些点对点网络 - 您可能仍然需要服务器
-
Javascript 在您的 PC 上的浏览器中运行。它甚至不与提供网站的服务器本机共享任何内容。我认为您已经决定了一个问题的解决方案,现在您想知道如何使该解决方案发挥作用,但这听起来像是错误的解决方案。如果您想要在所有用户之间共享的东西,那么它必须存在于网络服务器上 - 为您的网站提供服务的应用程序。所以你在看 PHP、ASP、ASP.Net 等。
-
好的,那么只需在您的脚本中使用 var,它们就不会在其他任何地方共享。
标签: javascript session object singleton