gpt4 book ai didi

javascript - 什么时候可以将属性附加到窗口?

转载 作者:行者123 更新时间:2023-12-03 11:01:00 25 4
gpt4 key购买 nike

在浏览网页时,我经常查看网页的源代码,看看某些东西是如何实现的。

我经常看到的一件事是:window.myApp.apiKey = 12345;window.myApp.welcomeMsg =“Hello there!”;

我一直认为将属性附加到窗口对象是不好的做法(如 accepted answer 中所述),但看起来 myApp 被用作一种命名空间 &因为它通常是品牌名称,所以不太可能与任何东西发生冲突。

不过,这样做可以吗?有任何指标吗? (即当我知道项目中不会使用第三个库时,这在现实生活中可能会很快发生变化)。

最佳答案

一般来说,我会使用以下方法......

if (typeof window['myApp']=='undefined') {alert('its okay.');}
else {alert('Error: native API added, have AJAX message server, email you.');}

...当然是否应该这样做是主观的,我个人使用...

var option = new function() {this.name = '';}
option.whatever = 'this string';
alert(option.whatever);//'this string'

...但是我可能会在将来重命名它并修改它,就像我对所有代码所做的那样。

正如 Ingo Bürk 在评论中指出的那样,似乎最终所有东西都是 window 对象的子对象,这些对象之间的唯一区别是上下文以及如何可以与它们交互(例如,您不能删除 var 定义的对象,尽管您可以删除 window.myObject,当它定义为 window.myObject = 1; 时; .

有关更深入的信息,请参阅the answer for 'Javascript global variables' .

关于javascript - 什么时候可以将属性附加到窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com