javascript - 使用构造函数创建对象时,公共成员如何能够访问私有成员?- JavaScript
问题描述
好的,这个问题可能看起来很傻,但我正在更深入地学习 javascript 中的面向对象概念,所以为了避免混淆,我不得不问这个问题。
const ObjConstructor = function() {
this.name = 'object';
let value = 1;
this.destroyValue = function() {
value = 0;
}
this.getValue = function() {
return value;
}
}
上面的代码实现了一个对象构造函数,它有一个私有成员value
。我假设每次使用此构造函数创建对象时它的工作方式是它基本上调用对象call()
上的方法ObjConstructor
并返回分配给它的成员(在本例中是名称、destroyValue 和 getValue)的对象。
但是当我理解如何destroyValue
和getValue
方法能够访问value
这里的私有变量时,我感到很困惑。因为它不是当前对象的成员,所以调用方法,并且value
它是构造函数的局部变量,在它第一次执行构造函数创建对象后被销毁。
解决方案
推荐阅读
- angular - 如何声明带参数的 GET 调用?
- node.js - 如何在使用 express/nodejs/passport 重定向时使用会话或 cookie 传递数据?
- ios - 调用 CMSensorRecorder 加速度计记录以避免死锁警告的正确模式是什么?
- javascript - JavaScript - scrollIntoView() 没有动画
- adsense - 如何获得 CPA 投标价格?
- php - 使用引导弹出模式更新 mysql 数据
- struts2 - jar 内的 checkbox.tfl 内的 Freemarker 异常
- c++ - C ++:从不同的实例化复制构造
- google-directory-api - 您可以限制 Google Directory API 中的服务帐户权限吗?
- python - 使用 Flask 中的新参数重定向到引用页面