javascript - 如何在 JavaScript 中定义和调用原型(prototype)中的私有(private)方法?

标签 javascript constructor prototype private-methods

假设我创建一个自定义对象:

function MyObject() {
  // define some properties
}

现在我想在原型(prototype)中定义一个私有(private)方法:

MyObject.prototype = {
  // by doing this I defined a public method, how can I define a private method?
  myMethod: function() {
    //some code
  }
}

然后我想像这样调用构造函数中的函数:

function MyObject() {
  // define some properties
  call myMethod()
}

我该怎么做?

最佳答案

如果您想要私有(private)方法,请不要使用原型(prototype)。请改用函数作用域:

function MyObject() {

  var privateFunction = function () {
      // only code within this constructor function can call this
  };

  privateFunction();
}

关于javascript - 如何在 JavaScript 中定义和调用原型(prototype)中的私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31921802/

相关文章:

javascript - 谷歌分析 js 文件已缓存,但 utm.gif 仍加载

javascript - .load() 使所有ajax加载的div刷新

javascript - node.js 无法获取/socket.io

javascript - youtube-dl 显示错误 : Command failed with exit code 1

c++ - 在 C++ 中通过构造函数复制类

c++ - std::initializer_list 作为构造函数的模板参数

c++ - C++ 中包装器类的大小写相关可变性(例如 uint8_t 数组包装器)

javascript - 如何创建 Object.prototype 克隆

javascript - 在 Nodejs 中调用 Array 原型(prototype)上的自定义方法

javascript - 在 JavaScript 中,为什么 typeof Function.prototype 是 "function",而不是像其他原型(prototype)对象那样 "object"?