Javascript:使用模块时的 "private"变量

标签 javascript

我正在导出一个我不希望用户能够访问的类 名称 变量。从技术 Angular 而不是个人喜好的 Angular 来看,这样做有什么问题吗?我知道这可能不是最佳做法,但它似乎有效。

let _name = 'bob';
export default class Person {
  getName() {
    return _name;
  }

  setName(name) {
    _name = name;
  }
}

最佳答案

问题很简单 - _name 驻留在闭包中,Person 的所有实例都将设置并获取相同的 _name。

var a = new Person();
a.setName('John');

var b = new Person();
b.getName(); // the result will be John

关于Javascript:使用模块时的 "private"变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32318527/

相关文章:

javascript - jQuery - 设置和重置转换延迟

javascript - 带有可滚动的延迟加载{虚拟:true} not working in Kendo UI Grid

javascript - Apache 反向代理内容长度

javascript - 以可变速度递增计数器

javascript - javascript 中的 SVG 翻译转换在 IE 11 中不起作用

javascript - 如何在浏览器中读取 Connect Js cookie?

javascript - 如何使用 javascript 或 jquery 在 html 页面中禁用 esc 键

javascript - 使用 jQuery 动态创建多个 div 并为每个 div 分配不同的 css 属性

javascript - page.evaluate 对比。 Puppeteer $ 方法

c# - 如何在 .ascx 页面中显示/隐藏表行 <tr>