直接先上代码,定义了一个Company类,并且为每个属性添加了一个getter和setter方法。
- function Company(obj){
- this._data = {
- companyName : '',
- pinyinCode : ''
- };
- for(attr in this._data){
- var _property = attr.substring(0, 1).toUpperCase() + attr.substring(1);
- Company.prototype['get'+_property] = function(){
- return this._data[attr];
- };
- Company.prototype['set'+_property] = function(value){
- this._data[attr] = value;
- };
- }
- for(attr in obj){
- this._data[attr] = obj[attr];
- }
- }
- var company = new Company({
- companyName : '塞彼德信息科技工作室',
- pinyinCode : 'sbdxxkjgzs'
- });
- alert(company.getCompanyName());
02-05这里用_data属性实际来保存一个数据区域
09-11行设置了getter行数
12-14行设置了setter行数
17-19行把构造行数里面的参数设置到_data里