除了典型的结构之外,我正在尝试更多地了解 Javascript var x = function(){...}
,所以我选择了命名空间。
在 PHP 中,我总是使用命名空间来避免冲突并组织我的常量、类和函数。到目前为止,我刚刚完成了这样的基本命名空间:
var helpers = {
strings: {
add: function(a, b) {
alert(a + ' plus ' + b + ' equals to ' + (a + b));
},
msgbox: function(text) {
alert(text);
}
}
}
所以我可以像这样编写 HTML 块:
<button class="ui-button" type="button" onclick="helpers.strings.msgbox('Hello, world!');"><img src="assets/images/alert.png" alt="Alert"> Click me!</button>
我的问题是:
- 我可以在其中嵌套命名空间的级别数是否有任何实际/硬性限制?
- 任何给定函数的嵌套级别是否会对性能产生影响?
- 我可以稍后扩展给定的命名空间吗?就像...有一个
core.js
文件并扩展strings
命名空间以添加更多功能,比方说,extended.js
?
我不会构建一个可怕的嵌套结构或类似的东西,但我只想知道浏览器引擎或语言本身是否存在任何实际限制,所以我的问题更多是理论上的(我'在这种情况下,我没有构建一个结构来测试它)。