0
根據我的研究,我決定對我的全局變量使用getter/setter(請糾正我,如果我錯了)。我可以設置並獲取私有變量,但是如何編輯對象中屬性的值?如何使用setter設置/編輯對象的屬性
因爲我不再可以使用obj.id = "33"
,我試過obj.id.set("33")
這是沒有意義的。如何編輯對象中的值?
var x = {"id":"93","customId":"a1a8d3c5af2d4807879e5fc6721d65ad","accountNumber":null};
var obj = (function() {
\t var holder = "";
\t return {
\t \t get: function() {
\t \t \t return holder;
\t \t },
\t \t set: function(val) {
\t \t \t holder = val;
\t \t }
\t };
})();
console.log("before setting: ", obj.get());
obj.set(x);
console.log("after setting" ,obj.get());
//obj.id = "33";
// or
// obj.id.set("33");
//console.log("new id: ", obj.get());
有道理。但是安全嗎?它可以從第三方工具或黑客進行編輯嗎? –
這裏的安全取決於訪問權限,你會提供給'obj'。閱讀本文以獲取有關訪問修改的信息。 https://stackoverflow.com/questions/1958216/how-do-i-mimic-access-modifiers-in-javascript-with-the-prototype-library –