相关疑难解决方法(0)

在Javascript中实现私有实例变量

我不知道我多久都错过了这个.我一直假设私有实例变量像这样工作,但他们没有.当然,它们是私有的(如非全局的),但变量是跨实例共享的.这导致了一些非常混乱的错误.

我以为我正在遵循一些最好的图书馆实施的最佳实践,但似乎我错过了一些东西.

var Printer = (function(){
    var _word;

    Printer = function(word){
        _word = word;
    }

    _print = function(){
        console.log(_word);
    }

    Printer.prototype = {
        print: _print
    }
    return Printer;
})();

var a = new Printer("Alex");
var b = new Printer("Bob");

a.print(); //Prints Bob (!)
b.print(); //Prints Bob
Run Code Online (Sandbox Code Playgroud)

我看过这篇文章,但没有描述实现私有实例变量的最佳实践.(这甚至是我想要的名称吗?) JavaScript中私有和实例变量的方法和变量范围

我也查看了这篇文章,但使用'this'关键字是我以前做的.因为它没有混淆我试图避免它.这真的是唯一的方法吗? 在原型继承中实现实例方法/变量

javascript private-members

21
推荐指数
2
解决办法
2万
查看次数

标签 统计

javascript ×1

private-members ×1