带有构造函数原型的JavaScript私有变量

时间:2016-07-16 16:55:29

标签: javascript

给出以下代码:

configureWithApplicationID

为什么内部变量都被重用和共享?

即使实例链接到构造函数,结果仍然不正确。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

基本上,prototype是与类(函数)的实时连接。无论何时从类创建新实例,这些实例都将共享原型属性。变量. . var t1 = new Test(); var t2 = new Test(); // after execution of the above line //closure innerPrivate inside of prototype function is replaced with t2's innerPrivate. //So updating t1's innerPrivate via innerShow of it(t1) //doesn't affect the closure inside of protoShow 是内部函数的闭包,但它将使用最后一个实例的变量进行更新。

list

最好避免在构造函数中更改原型。因为这样做会造成不必要的混淆。