你能实现一个JavaScript对象吗,让每个缺失的属性都变成一个有效的值?

前端开发 2026-07-09

我在源码中加入了一些保护措施,意在让不法分子在访问我已知的全局变量时更难得手。

如果这些变量被引用,我希望能够把它们的值改成其他内容,以此来混淆他们。

const myGlobal = {};

console.log(myGlobal.apple); // returns "undefined", but I want lets say "apple" to be returned

console.log(myGlobal.javascript); // returns "undefined", but I want lets say "javascript" to be returned

解决方案

你可以使用 Proxy对象 来实现这一点

const myGlobal = new Proxy({}, {
  get(_, prop) {
    return prop;
  }
});

console.log(myGlobal.apple); // "apple"
console.log(myGlobal.javascript); // "javascript"
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章