我有一个同时包含公有变量和私有变量的对象。公共变量被赋值给私有变量(我想),但是,每当我用函数修改私有变量时,公共变量都不会更新。(foo.a); //result: 1, I want it to be 2 though
现在我知道了,如果我将changeVar中的行改为this.a = 2;,它就可以工作了,但是它不会更新私有变量我想同时更新私有变
我正在阅读Nicholas C.Zakas的JavaScript for Web Developers第三版(旧的,我知道),我很难理解为什么静态私有变量/函数首先是静态的。我知道如果我声明了一个带有私有变量/函数的构造函数,它的所有实例都会有自己的私有变量/函数,就像Zakas的一个例子:
//private variablesthis.publicMethod = function
通常,在定义函数时,可以使用var x而不是this.x来创建私有变量,然后创建类似于var o = new SomeClass()这样的对象。但是,我需要类似于带有静态方法的PHP类(带有私有变量的对象)。就像定义类然后从类创建对象一样,但是直接定义对象,同时仍然维护私有变量。有可能吗? var x = '1dg5456awd32tr5';