这是更新闭包中的私有变量的安全方法吗?

时间:2015-07-24 15:47:46

标签: javascript

这被认为是在闭包内更新privateVar的安全方法吗?

var test = (function() {
    var privateVar = "Hello";

    function returnPrivateVar() {
        return privateVar;
    }

    function returnWindowPrivateVar() {
        return window.test.privateVar;
    }

    return {
        returnPrivateVar: returnPrivateVar,
        returnWindowPrivateVar: returnWindowPrivateVar
    }
})();

var results = document.querySelector('#results');

results.innerHTML = results.innerHTML + test.returnPrivateVar() + '<br>\n';
results.innerHTML = results.innerHTML + test.returnWindowPrivateVar() + '<br>\n';

test.privateVar = "Goodbye";

results.innerHTML = results.innerHTML + test.returnPrivateVar() + '<br>\n';
results.innerHTML = results.innerHTML + test.returnWindowPrivateVar() + '<br>\n';
<div id='results'></div>

我希望避免使用getter / setter方法。我只是想确保我可以在测试函数中可靠地调用window.test.privateVar。我知道我可能必须确保在使用它之前定义它。

0 个答案:

没有答案