Most of the Web is using function (similar to Person.getname (), Person.setname ()). Of course, this is a common way.
But in a browser other than IE, you can try to run the following code
function person ()
{
var _name
, _age,_sex;
var _namechanged = new Array ();
this.__definegetter__ (' namechanged ', function ()
{
return _namechanged;
});
this.__definesetter__ (' namechanged ', function (value)
{
_namechanged.push (value);
});
this.__definegetter__ (' name ', function ()
{
return _name;
});
this.__definesetter__ (' name ', function (value)
{
if (this.namechanged!= null)
{
For (var f in _namechanged)
{
_NAMECHANGED[F] (value);
}
}
_name = value;
});
this.__definegetter__ (' Age ', function ()
{
return _age;
});
this.__definesetter__ (' Age ', function (value)
{
_age = value;
});
}
Person.prototype =
{
Get Sex ()
{
return _sex;
},
Set Sex (value)
{
_sex = value;
}
};
var person = new person ();
person.namechanged = function ()
{
Alert (' Event 1 ');
}
person.namechanged = function ()
{
Alert (' Event 2 ');
}
Person.name = ' treenew ';
Person.age = ' 22 ';
Person.sex = ' man '
Alert (' the ' + Person.name + ' age are ' + Person.age + '. The sex value is ' + person.sex ');
alert (person._sex); Undefined