zoukankan      html  css  js  c++  java
  • 访问器属性描述符

    • get  无参函数,在属性被读取时工作
    • set   有一个参数的函数,在属性被设置时工作
    • enumerable  可否列举
    • configurable  可否配置
     1 let user = {
     2   name: "John",
     3   surname: "Smith"
     4 };
     5 
     6 Object.defineProperty(user, 'fullName', {
     7   get() {
     8     return `${this.name} ${this.surname}`;
     9   },
    10 
    11   set(value) {
    12     [this.name, this.surname] = value.split(" ");
    13   }
    14 });
    15 
    16 alert(user.fullName); // John Smith
    17 
    18 for(let key in user) alert(key); // name, surname

     user对象新增了一个属性fullName

    正是通过设置属性特性(Object.defineProperty)的方式来添加属性的。

    user.fullName="Alice Cooper";

    把值赋值给fullName,set函数会站出来,说:我来负责这件事,请把值交给我!

    =右边的值作为函数“setter”的参数,飞入了函数之中,函数进行一系列处理后会出现一些结果。

  • 相关阅读:
    codepen
    css3 animate
    dowebok 网站
    java第四次实验
    java第九周学习总结
    java第三次实验
    java第八周学习总结
    java第二次试验
    java第七周学习总结
    java第六周学习总结
  • 原文地址:https://www.cnblogs.com/flyover/p/14157652.html
Copyright © 2011-2022 走看看