![]() |
1
5
实际上,这都是关于语义的。如果您将代码拆分为多个文件,并计划使用通用命名空间,那么这样做会更容易一些: 我喜欢这个方法的原因是它更加模块化,允许将代码分解成多个文件,然后很容易地将它们压缩成一个没有依赖关系的文件(除非名称空间函数彼此依赖)。 这样做的缺点是,如果使用不当,有时会感觉有点凌乱——我想这可能适用于任何事情。 在命名空间文件中
在其他使用命名空间的javascript文件中
一些实际应用是: 吉伊斯
工具库
菜单.js
现在,单身汉,这是另一个论点。 |
![]() |
2
0
这很好,但最好在命名空间中将私有变量声明为局部变量,而不是使用一个对象特权。优点:代码较少,打包程序可能会收缩变量名。尝试在此处打包代码: http://dean.edwards.name/packer/ |
![]() |
3
0
我认为你的例子很好,整个问题主要是关于味道。但是,我会这样写的:
首先,名称空间应该都是upercase,就像道格拉斯·克罗克福德建议的那样,正如雅虎看到的那样。 其次,我直接使用名称空间的属性创建名称空间,而不是通过匿名函数。但是我在一个匿名函数中创建了publicFunction1函数,所以我可以在其中定义私有函数和变量。这略有不同,因为范围比您的示例中的范围更小。优点是,同一命名空间中的其他函数可以使用相同的变量名。缺点是,其他函数不能与该函数共享相同的变量:-) |
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 3 月前 |
![]() |
Alex · 在轻量级中同时解构和不解构变量 4 月前 |
![]() |
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 4 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 4 月前 |
![]() |
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 4 月前 |