来自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;
}
}