术语的差异? JS范围

时间:2015-11-20 13:48:53

标签: javascript

我现在在JS的OO方面获得更多,而不是基本的DOM操作和交互部分。当我刷新书籍时,令人困惑的一件事就是全球,本地,公共和私人变量的术语。

从我收集的内容来看,似乎私人/公众更多地是从JAVA用户那里借来的,但实际上他们只是全局和局部变量。

假设这个我错了吗?

2 个答案:

答案 0 :(得分:2)

围绕此问题 P.S.围绕解释in this article Douglas Crockford

公共构造函数

function Container(param) {
    this.member = param;
}

<强> 原型

Container.prototype.stamp = function (string) {
    return this.member + string;
}

<强> 私人

function Container(param) {
    this.member = param;
    var secret = 3; //private
    var that = this; // private
}

function Container(param) {

    function dec() {  // private method
        if (secret > 0) {
            secret -= 1;
            return true;
        } else {
            return false;
        }
    }

    this.member = param;
    var secret = 3;
    var that = this;

    this.service = function () {
        return dec() ? that.member : null;
    };
}

我希望这篇文章可以帮到你。

由于

答案 1 :(得分:1)

要了解Javascript对象中的公共和私有变量:

var NewObject = function() {
  
  this.public = "that's public";
  var private = "that's private";
  
};

var instance = new NewObject();
console.log(instance.public); // that's public
console.log(instance.private); // undefined