最近我开始为 Chrome 开发一些扩展。我在清单 v3 和普通 javascript 中执行此操作。我已经成功地让我的扩展工作了。然而,创建它们的部分乐趣在于学习更好的编码。我一直想知道我是否以正确的方式处理变量。
我喜欢从扩展程序中的各个点访问一些数据。其中一些是动态加载的,一些是我直接在代码中设置的,如下所示:
const myExtensionData = {
someData: [],
config: [],
links: [],
}
Run Code Online (Sandbox Code Playgroud)
1) 将常用数据存储在像 myExtensionData.someData 这样的变量中是个好主意吗?有更好的选择吗?
myExtensionData.someData在某个时间点从外部加载。当我在各种函数中使用这些数据时,我将其公开为这样,这样我就不必每次都传递数据。我可以使用本地存储,但我一直保留它,因为这需要另一个权限。
2)同样的问题,但这次是很少使用的东西(myExtensionData.config)?
中的数据myExtensionData.config也是动态创建的,但内容使用得不多。例如:我存储是否还安装了我的其他扩展之一。如果是,我启用一个按钮以从弹出窗口访问它。而是一次性使用。
3)静态变量怎么样?(myExtensionData.links)?
我保留了一些用于 onUpdate、onInstall 和发行说明的链接。它们会定期变化,所以我需要将它们存放在某个地方。将它们存储在 myExtensionData 中怎么样(实际上我目前将它们保存在全局常量中)。
4)任何指点都表示赞赏! 我希望这是一个有价值的问题。虽然不是很具体,但我相信我可以在这里学到很多东西。我搜索了良好实践/最佳实践,但它们通常超出了扩展的范围。如果我看错了地方,请告诉我。
我在这个非常古老的问题中发现了一些有趣的东西。据我了解,将变量存储在对象中并不是一件坏事。此外,我喜欢还建议向对象添加一些方法。