![](/img/trans.png)
[英]How to execute a javascript function without modifying existing html files?
[英]How to encapsulate (and namespace) existing big javascript file without modifying it?
我有一个巨大的JS文件,其中包含旧样式的函数和变量定义:它将所有内容放入全局范围。 我希望能够在“名称空间”中“导入”该文件,以便全局范围保持整洁。
“巨大文件”是由WSDL2JS工具从Apache CXF生成的Web服务客户端。 它会将数百个函数和变量置于全局范围内, 在pastebin上有一小部分该文件的示例 。 我想继续使用该工具,但将生成的JS保留在某种命名空间或单独的范围内。 是否可以使用某些工具或最少的人工干预?
这是来自WSDL2JS的包装在实际上不起作用的自调用函数中的代码。 可以在http://jsfiddle.net/rozboris/26t5nwmx/上进行测试和编辑
var testModule = (function(){
//here starts the generated code that I don't want to touch
function priv(){
console.log('called private function');
}
function proto(){
this.something = 'hello';
}
priv.prototype = new proto;
//here ends the generated code that I don't want to touch
return {
priv: priv
}
})();
testModule.priv.something; //undefined
是否有更好的工具来使用JS(在浏览器中)基于wsdl的Web服务? Apache CXF是否可以替代WSDL2JS?
提前致谢。
您是否需要从外部调用其功能? 如果不是,那么只需将现有代码包含在立即求值的函数表达式中即可 :
(function(){
//code goes here
}());
并在每个全局声明的前面添加“ var”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.