Ami*_*rad 6 javascript namespaces resolution identifier
我尝试加载一些外部.js文件,并有一些无法解决的命名空间冲突.
我有想法以某种方式在他们自己的上下文中加载一些文件,将" this"指向窗口对象替换为某个自定义命名空间.
例:
first.js:
name = "first";
Run Code Online (Sandbox Code Playgroud)
second.js:
name = "second";
Run Code Online (Sandbox Code Playgroud)
在我看来,这种技巧非常有用.有可能吗?
编辑
似乎替换" this"并没有开始解决问题,因为它不是javascript中标识符解析的默认上下文.这是我的测试代码:
var first = {};
var second = {};
(function(){name = "first";}).call(first);
(function(){name = "second";}).call(second);
document.write('name= '+name+' <br/>\n'); //prints "second"
document.write('first.name= '+first.name+' <br/>\n'); //prints "undefined"
document.write('second.name= '+second.name+' <br/>\n'); //prints "undefined
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
决议
这是不可能的.我最终比今天早上更聪明,我放弃了.我推荐这些有启发性的阅读材料给任何有类似问题的人,可能想要解决这个问题:http:
//jibbering.com/faq/notes/closures/
http://softwareas.com/cross-domain-communication-与-I帧
| 归档时间: |
|
| 查看次数: |
4064 次 |
| 最近记录: |