我有以下JavaScript代码:
(function($){
function JsBarcode(){
//Some Code Here
}
})(window.jQuery);
(function ($) {
JsBarcode();
//calls a JsBarcode not within a scope
})(jQuery);
运行上面的代码时,它给出以下错误:
Uncaught ReferenceError: JsBarcode is not defined
我正在尝试调用一个不在范围内的函数。我怎么能打电话呢?
最佳答案
2种选择:
-更改结构,使第二个模块位于第一个模块内:父作用域始终可见。
-更改导出功能的第一个模块,以便可以在外部访问它。下面的样本
var firstModuleHandle = (function($){
var JsBarcode = function(){
//Some Code Here
console.log("can access me?");
}
return {JsBarcode: JsBarcode};
})(window.jQuery);
(function ($) {
firstModuleHandle.JsBarcode();
//calls a JsBarcode not within a scope
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>