sendgrid api中的ClickTracking构造函数

问题描述 投票:0回答:1

因为不赞成使用“ sendgrid”软件包,所以我尝试理解该软件包的代码以实现新的“ @sendgrid”软件包。我对此功能感到困惑:

function ClickTracking(enable, enable_text) {
  this.enable = enable;
  this.enable_text = enable_text;

  this.setEnable = function(enable) {
    this.enable = enable;
  };

  this.getEnable = function() {
    return this.enable;
  };

  this.setEnableText = function(enable_text) {
    this.enable_text = enable_text;
  };

  this.getEnableText = function() {
    return this.enable_text;
  };

  this.toJSON = function() {
    var json = {
      enable: this.getEnable(),
      enable_text: this.getEnableText(),
    };
    return json;
  };

  return this;
}

此代码在函数内部

 this.enable = enable;

已经设置了enable:enable,为什么我们需要创建此功能:

this.setEnable = function(enable) {
        this.enable = enable;
      };

此代码的另一个问题是:

this.toJSON = function() {
        var json = {
          enable: this.getEnable(),
          enable_text: this.getEnableText(),
        };
        return json;
      };

toJson方法已定义,但这不会将其转换为json。谁能解释该代码的作用?

javascript node.js constructor sendgrid
1个回答
0
投票

有时您会看到生活中的怪异事物,这意味着它的意义。

this.enable已经公开。如果作者可能想放置一些访问成员控件,则应这样设置:const enable = enable;然后这些方法就有意义了。

关于toJSON方法,它返回作为对象{enable:,enable_text:}的JSON结构,以将其序列化传递给您,您需要做的所有操作JSON.stringify(this.toJSON())或您希望通过它获取字符串表示形式更改其返回值。

© www.soinside.com 2019 - 2024. All rights reserved.