次の記事を読んだ後、 http://javascriptplayground.com/blog/2012/04/javascript-module-pattern/ JSでモジュールを実装することにしました。JSモジュールの非公開変数
残念ながら、私が使用していますモジュールは、あなたが見ることができるように、私は popoverOptionsModule._stopAskingListの値を変更し、更新を記録することができる午前
var popoverOptionsModule = (function() {
var _stopAskingList = [];
var addToStopAskingList = function(itemToAdd) {
if (_stopAskingList.indexOf(itemToAdd) === -1){
_stopAskingList.push(itemToAdd);
}
}
var getStopAskingList = function() {
return _stopAskingList;
}
return {
addToStopAskingList: addToStopAskingList,
getStopAskingList: getStopAskingList,
};
})();
popoverOptionsModule._stopAskingList = 4;
console.log(popoverOptionsModule._stopAskingList);
、プライベート変数のプライベートを維持していないようですコンソールに...私はこれが起こるはずではないと思った。ご協力いただきありがとうございます!
'console.log(popoverOptionsModule.getStopAskingList())'を試してください。これが最初にゲッター関数を実装した理由です。 'popoverOptionsModule._stopAskingList = 4;を実行することで – JJJ
を作成すると、オブジェクトに新しいプロパティが作成されるので、もちろんconsole.logでもそれを行うことができます。その行を削除すると、期待どおりに定義されていないログに記録されます。 – GillesC
私はこれが落ちた理由を見ません。ポスターが体験している問題は非常にはっきりしていて、それにさらされることなくすぐに明らかな概念でもありません。はい、JavaScriptを使用して作業するほとんどの人は頻繁に公開されていますが、公開されていないことについて質問するのは完全に関連しています。 – Claies