来自 C#/PHP,我想在使用 Javascript 创建的类(函数)上有完整的 getter/setter。
然而,在我遇到的大部分 Javascript 代码中,并没有使用 getter 和 setter,而是使用简单的公共变量。
我很高兴找到John Resig关于 getter 和 setter 的文章,但有一些评论指出某些浏览器“不支持 getter 和 setter”,这让我感到困惑,因为它们不是 Javascript 的“功能”,而是更多使用基本 Javascript 语法的简单模式。这篇文章也是 2007 年写的,所以现在可能已经过时了。
Javascript 中 getter 和 setter 的当前状态是什么?今天的所有浏览器是否确实“支持”它们(无论这意味着什么)?它们是 Javascript 的有用编程模式,还是 Javascript 类(作为函数)更好地使用公共变量?有没有比以下更好的方法来实现它们?
$(document).ready(function() {
var module = new Module('idcode');
module.set_id_code('new idcode');
module.set_title('new title');
$('body').html(module.get_id_code()+': '+module.get_title());
});
function Module(id_code, title) {
var id_code = id_code;
var title = title;
//id_code
this.get_id_code = function() {
return id_code;
}
this.set_id_code = function(value) {
id_code = value;
}
//title
this.get_title = function() {
return title;
}
this.set_title = function(value) {
title = value;
}
}