通过传入的类属性名获取、修改对应的类属性:
1 var label_set = ''; 2 var type_set = ''; 3 var labelOption = ''; 4 class Service_data{ 5 constructor() { 6 //固定属性 7 this.conversationCount = {name:'会话数',type:type_set, label: label_set ,data: []}; 8 this.doubleConversationCount = {name: '两人会话总数', type: type_set, label: label_set ,data: []}; 9 this.temporaryConversationCount = {name: '临时多人会话', type: type_set, label: label_set ,data: []}; 10 this.groupConversationCount = {name: '群组会话总数', type: type_set , label: label_set , data: []}; 11 this.informationNumCount = {name: '资讯号总数', type: type_set , label: label_set , data: []}; 12 this.informationCount = {name: '资讯总数', type: type_set , label: label_set , data: []}; 13 this.informationReadCount = {name: '阅读数', type: type_set , label: label_set,data: []}; 14 this.informationCommentCount = {name: '资讯评论数', type: type_set , label:label_set , data: []}; 15 this.informationPraiseCount = {name: '资讯点赞总数', type: type_set , label: label_set, data: []}; 16 this.colleaguesCount = {name: '同事圈总数', type: type_set , label: label_set,data: []}; 17 this.colleaguesCommentCount = {name: '同事圈评论总数', type: type_set , label:label_set, data: []}; 18 } 19 setdata(name,list){ 20 if(this.hasOwnProperty(name)){ 21 let save_data = Object.getOwnPropertyDescriptor(this,name).value; 22 save_data.data = list; 23 }else{ 24 console.log(name+"没有对应属性!"); 25 } 26 } 27 getdata(name){ 28 if(this.hasOwnProperty(name)){ 29 return Object.getOwnPropertyDescriptor(this,name).value; 30 }else{ 31 console.log(name+"没有对应属性!"); 32 } 33 } 34 } 35 var service_dataInit = new Service_data(); 36 var setdata_resule = service_dataInit.setdata('conversationCount',['1','2']); 37 var getdata_resule = service_dataInit.getdata('conversationCount'); 38 console.log(getdata_resule);
使用方法:
Object.getOwnPropertyDescriptor()
方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)
参数
-
obj
- 需要查找的目标对象
-
prop
- 目标对象内属性名称(String类型)
返回值
如果指定的属性存在于对象上,则返回其属性描述符对象(property descriptor),否则返回 undefined
。
hasOwnProperty()
方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性
参数
返回值
用来判断某个对象是否含有指定的属性的 Boolean
。