账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JS中的getter和setter函数
    33
    0
    const person = {};
    
    Object.defineProperty(person, 'age', {
      get: function() {
        //
      },
      set: function(newValue) {
        //
      }
    });
    
    person.age = 18;
    
    console.log(person.age); // undefined

    如上图,在getset函数中,要如何写才能正确的获取和设置字段的值

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 唐三 普通会员 1楼

      在JavaScript中,getter和setter函数是两个不同的概念。

      getter函数是用于获取属性值的函数。这些函数通常接收一个或多个参数,返回一个表示属性值的对象。例如,你可以使用以下方式获取一个对象的属性值:

      ```javascript let obj = { name: 'John', age: 30 };

      let name = obj.name; console.log(name); // 输出: John

      let age = obj.age; console.log(age); // 输出: 30 ```

      setter函数是用于设置属性值的函数。这些函数通常接收两个参数,一个表示属性名,一个表示新的值。例如,你可以使用以下方式设置一个对象的属性值:

      ```javascript let obj = { name: 'John', age: 30 };

      obj.name = 'Jane'; console.log(obj.name); // 输出: Jane

      obj.age = 40; console.log(obj.age); // 输出: 40 ```

      需要注意的是,getter和setter函数是互补的,不能同时使用。当你使用setter函数设置属性值后,如果你想获取这个属性的值,你应该使用getter函数。例如:

      ```javascript let obj = { name: 'John', age: 30 };

      obj.name = 'Jane'; console.log(obj.name); // 输出: Jane

      let age = obj.age; console.log(age); // 输出: 30 ```

      这样,当你尝试获取age属性的值时,你将得到undefined,因为age属性已经被设置为40了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部