以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - JavaScript 代码题
134. 实现Cookie

实现如下:

let myCookie = {};

function install() {
  Object.defineProperty(document, 'myCookie', {
    get() {
      let cookies = document.cookie.split("; ");
      let res = "";
      for (let cookie of cookies) {
        if (cookie.startsWith("__myCookie_")) {
          let [name, value, maxAge] = cookie.split("__myCookie_")[1].split("_");
          if (maxAge && (Date.now() / 1000 > parseInt(maxAge))) {
            // 如果max-age时间已经过期,就不加入cookie中
            continue;
          }
          res += `${name}=${value}; `;
        }
      }
      return res;
    },
    set(cookie) {
      let [name, value] = cookie.split("=");

      let options = "";
      if (cookie.includes("max-age")) {
        let maxAge = cookie.split("max-age=")[1].split(";")[0].trim();
        options = `__myCookie_${name}_${value}_${parseInt(Date.now() / 1000) + parseInt(maxAge)}; `;
      } else {
        options = `__myCookie_${name}_${value}; `;
      }

      document.cookie += options;
    }
  })
}

function uninstall() {
  delete document.myCookie;
}

install();

使用方法和题目中的一样,例如:

document.myCookie = 'bfe=dev';
document.myCookie // "bfe=dev; "
document.myCookie = 'bfe1=dev1; max-age=1';
document.myCookie // "bfe=dev; bfe1=dev1; __myCookie_bfe1_dev1_1635780074; "
setTimeout(() => console.log(document.myCookie), 2000); // ""

以上代码实现了题目要求的三个功能,可以通过在install()中添加其他option来扩展更多功能。