怎么了?通过字符串定义 JavaScript 命名空间
What's wrong? Defining a JavaScript namespace via string
我使用以下代码定义一个名为com.foo的新命名空间
function extendNamespace(ns, ns_string) {
var parts = ns_string.split('.');
var parent = ns;
for (var i = 0; i < parts.length; i++) {
//create a property if it doesnt exist
if (typeof parent[parts[i]] == 'undefined') {
parent[parts[i]] = {};
}
parent = parent[parts[i]];
}
return ns;
}
var com = {};
extendNamespace(com, "com.foo");
console.log(com); // OK (even has an object called "foo"!!)
console.log(com.foo); // Undefined ???
console.log(com)
的第一次调用在控制台中清楚地向我显示已经创建了一个新对象"com",其中包含一个名为"foo"的对象。
目前为止,一切都好。
第二个调用console.log(com.foo);
返回我"未定义"。
什么给?
控制台.log(com)的第一次调用清楚地向我在控制台中显示已经创建了一个新对象"com",其中包含一个名为"foo"的对象。
不。它有一个名为com
的属性,其值是一个具有名为foo
的属性的对象。
当您只想使用 foo
扩展com
时,您正在使用 com.foo
进行扩展。
相关文章:
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- Can用户'MediaWiki上的自定义JavaScript调用Lua模块
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- 使用drupal中自定义javascript文件中的一个函数
- 行末尾未定义Javascript
- 使用浏览器在页面(客户端)上运行自定义JavaScript来模拟点击?怎么做
- 在对象中定义JavaScript获取和设置函数,而不使用“;这个“;
- 未定义Javascript文档
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- target=“_空白“;使用自定义javascript生成的html页面
- Meteor:选择自定义javascript和自定义css作为模板
- 用自定义javascript全局命名空间替换窗口
- 怎么了?通过字符串定义 JavaScript 命名空间
- 为什么自定义 JavaScript 文件放在客户端文件夹中时不在我的 Meteor 模板上呈现
- 定义 JavaScript 类的局部变量
- 创建自定义 Javascript 对象的惯用方法有哪些
- 当通过选择页面上所有复选框的 jQuery 脚本选中复选框时,如何触发自定义 javascript 事件
- 我的自定义javascript旋转木马无法正常工作
- 自定义javascript日期
- 如何在联系人表单7 Wordpress中添加自定义javascript函数