在javascript中调用私有函数

时间:2016-03-10 11:28:05

标签: javascript

我正在尝试在Javascript中创建私有函数。这是我的代码:

function Person() {
  this.id = 5;
};

Person.prototype = {
  getId: function() {
    return this.id;
  },
  walk: function() {
    alert("i am private");
  },
  eat: function() {
    alert("i am public");
  }
};

我想让walk函数私有一个而eat函数是 public

1 个答案:

答案 0 :(得分:1)

JavaScript中没有构造为class定义真正的私有方法,但是你可以这样做:

var Person = (function () {
    var Person = function () {
        this.id = 5;
    };

    var walk = function () {
        alert("i am private");
    };

    Person.prototype = {
        constructor: Person,
        getId: function (){
            return this.id;
        },
        eat: function () {
            alert("i am public");
        }
    };

    return Person;
}());