富锦网站制作品牌网站建设小蝌蚪a
富锦网站制作,品牌网站建设小蝌蚪a,福州做网站改版哪里比较好,如何进行软件开发再提一下什么是静态方法#xff1a; 静态方法#xff1a;在类身上的方法#xff0c; 动态方法:在实例身上的方法 Object.defineProperties(obj, props)obj#xff1a;被添加属性的对象props#xff1a;添加或更新的属性对象给对象定义属性#xff0c;如果存在该属性 静态方法在类身上的方法 动态方法:在实例身上的方法 Object.defineProperties(obj, props)obj被添加属性的对象props添加或更新的属性对象给对象定义属性如果存在该属性则用新定义的属性更新已存在的属性如果不存在该属性则添加该属性。如果是新添加的属性一定要设置是否可枚举不然为false enumerable(是否可枚举):默认为false writable(是否可写):默认为false configurable:是否可删除deleteObject.defineProperty() 在对象上定义新属性或修改对象现有属性并返回该对象。 Object.defineProperty(obj, 属性名字, {设置属性})例子1 1 let obj {2 name:xx,3 num:04 };5 Object.defineProperties(obj,{6 name:{7 value:yy,8 writable: false,//是否可重新赋值9 enumerable: false,//是否可遍历枚举
10 configurable:false//是否可配置删除
11 },
12 age:{
13 value:20,
14 enumerable: true
15 }
16 });
17
18 obj.age 30;
19 console.log(obj.age);//默认不可写所以此处依然是 20
20 delete obj.name;//此处删了一个不可删除的属性
21 console.log(obj.name);//当然能显示 yy 例子2数据劫持 效果 1 let obj {2 num:43 };4 let n 2;5 Object.defineProperty(obj,num,{6 get:function(){ //取 obj.num 属性时会触发 get 方法7 /*数据劫持*/8 //当你获取这个属性的时候会调用9 n 2;
10 return n;
11 }, set(val){ //给 obj.num 赋值时会触发 set 方法 //val 是给 obj.num 赋值时的那个值 }12 });
13 console.log(obj.num 5 obj.num 5);//true
14 /*num即小于5又大于就是应为第一次判断obj.num时numn24符合了第一个条件此时的n4。
15 读到第二个判断的时候再次触发函数此时n之后为6又符合了第二个判断条件所以出现了true*/ 转载于:https://www.cnblogs.com/MrZhujl/p/9938505.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87989.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!