javascript - 尝试在JS中创建私有(private)函数

标签 javascript

我是 javascript 新手..我正在尝试在 JS 中创建一个私有(private)函数并在外部访问它..这是我的代码

 function Person(name, gender) {
   this.name = name;
   this.gender = gender;

   //the private function
   function aFunction(arg1) {
     alert("anything");
   }

 }

 var person = new Person("bob", "M");


 person._privates['aFunction']();

最佳答案

I am trying to make a private function in JS and access it outside

首先,这条语句是oxymoron ,因为根据定义,私有(private)函数对于作用域来说是私有(private)的,因此不应该在外部访问。

如果您的意思是您想要访问在 Person 内部定义的方法,那么 -> 尝试使您的 Person 类具有_privates 成员为

function Person(name, gender){
   this.name = name;
   this.gender = gender;

   this._privates = {}; //new property added to access private functions

   //the private function       
   this._privates.aFunction = function (arg1){
       alert("anything");
   };
}

关于javascript - 尝试在JS中创建私有(private)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766133/

相关文章:

javascript - 提交表单时出现不可见的 reCaptcha 未捕获类型错误

javascript - 在调整窗口大小时更改 html 标签结构

javascript - 我已经使用 jquery 阻止了表单提交。如何在不删除当前代码的情况下再次提交表单?

javascript - 根据范围内的价格选中复选框

javascript - Ajax 呈现的按钮未触发单击事件

javascript - 使用 javascript 查找 xml 属性值

javascript - 使用 react-router--dom <Link> 时如何将 Prop 从父级传递给孙子?

javascript - KMZ 点在 Google map 中以小比例显示在不准确的位置

javascript - 根据表单的选择显示/隐藏标记不做任何事情

Javascript onclick 停止工作,多个动态创建的 div