【问题标题】:How to set/ edit a property of an object by using setter如何使用 setter 设置/编辑对象的属性
【发布时间】:2017-08-08 08:23:33
【问题描述】:

根据我的研究,我决定对全局变量使用 getter/setter(如果我错了,请纠正我)。我可以设置和获取私有变量,但是如何编辑对象中属性的值?

由于我不能再使用obj.id = "33",我尝试了obj.id.set("33"),但没有任何意义。如何编辑对象中的值?

var x = {"id":"93","customId":"a1a8d3c5af2d4807879e5fc6721d65ad","accountNumber":null};

var obj = (function() {
	var holder = "";
	return {
		get: function() {
			return holder;
		},
		set: function(val) {
			holder = val;
		}
	};
})();
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());

【问题讨论】:

    标签: javascript


    【解决方案1】:

    试试这个,你必须在改变它的值之前得到那个对象:

    obj.get().id = 33;
    

    【讨论】:

    • 有道理。但它安全吗?是否可以通过 3rd 方工具或黑客进行编辑?
    • 这里的安全取决于访问,您将提供给obj。阅读本文以了解访问修改。 stackoverflow.com/questions/1958216/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多