|
|
1
19
我个人为我的应用程序数据定义一个名称空间
定义命名空间内的所有内容
从这个意义上讲,您附加到全局对象的唯一变量是名称空间对象。其他所有内容都是全局可访问的,但在您的命名空间内。这样可以减少全局对象上的冲突,如果愿意的话,最终可以定义不同的名称空间。 |
|
|
2
8
imho,避免冲突的最佳方法是在临时范围内工作,使用自执行函数表达式,将所有库代码封装,并在 非常 选择方式,尽量少用:
|
|
|
3
3
默认情况下,在函数外部声明的任何内容都是全局的。您不需要将它显式地附加到文档中就可以了。从长远来看,你不会避免碰撞,这就是为什么这是一个糟糕的做法。 您可以编写面向对象的JS,并或多或少地将变量保存在一个名称空间中。 |
|
|
4
0
正如其他答案所指出的,将代码放在一个函数中会阻止它被全局访问。还可以使用函数的返回值仅公开所需的变量:
|
|
|
5
0
我同意上述意见。我通常 create an object ,隐藏数据,并根据需要公开getter(很少)和行为。 |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 11 月前 |
|
|
Niobos · 如何/是否有方法使通用算法函数同时与同步和异步函数一起工作? 11 月前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 11 月前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 11 月前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 11 月前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 11 月前 |