javascript - Javascript 文字对象中的私有(private)变量

标签 javascript private var object-literal

如何在文字对象中声明私有(private)变量?因为我有这段代码:

var foo = {

    self: null,

    init: function() {
        self = this;
        self.doStuff();
    },

    doStuff: function() {
        //stuff here
    }

}

这很完美,但是如果我有一些对象,var“self”会被覆盖..显然它是一个全局变量..我不能在这个对象中使用受限词“var”..

我该如何解决这个问题,或者为每个对象创建一个命名空间?

谢谢!

最佳答案

您可以创建一个函数作用域来隐藏变量:

var foo = (function() {
  var self = null
  return {
    init: ...,
    doStuff: ...
  };
})();

虽然还不清楚self 在这里应该做什么,以及如何使用foo

关于javascript - Javascript 文字对象中的私有(private)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402448/

相关文章:

javascript - 无法在 JQuery 中设置变量的 HTML

ruby-on-rails - Rails 中的 protected 和私有(private)方法

C# 更改私有(private)字段时如何中断?

java - 面向对象编程私有(private)类字段+获取/设置或公共(public)类字段?

javascript - 更改 var speed 值 onClick?

PHP 将 var 设置为字符串的一部分

javascript - webRTC-没有从其他同行获得流和冰候选人

javascript - 条件 ng-repeat

jquery - AJAX/JQuery - var 不存在

javascript - 函数语法中的方括号在 MDN 上是什么意思?