调用库外部的库函数
Call a function of a library, outside the library
我有一个以(function() { ... }) ();
方案运行的库......
// mylibrary.js
(function() {
function myfunc() { alert('hello'); };
if (...)
return;
// do something
}) ();
。我在 HTML 页面中使用的:
<!DOCTYPE html>
<html lang="en">
<body>
<div>Bonjour</div>
<script src="mylibrary.js"></script>
<script>
myfunc(); // scope error !
</script>
</body>
</html>
如何在库外调用函数myfunc()
?我应该更改(function() { ... }) ();
方案吗?(我曾经可以在图书馆内做一些return
)
最常见的做法是什么?
您需要揭示模块模式:
var module = (function() { // Self invoking function
var privateVariable = 42; // This variable is private to the module.
var publicFunction = function() { console.log(42); } // Still not public
return {
myPublic: publicFunction // Now it is, notice optional the name change!
}
})(); //Call itself.
module.myPublic(); // Call by the new name.
在这种情况下,执行函数并返回一个对象(因此module
现在是一个对象),您只需调用作为该对象成员的函数。
这是你应该怎么做。
var myApp = (function() {
var stuff = []; //private
return { //exposed to public
myfunc: function(values) {
alert('You said: ' + values);
}
}
}());
myApp.myfunc('Test Me');
如果你的意思是让你的函数全局可用,那么你可以把它分配给window
对象:
window.myfunc = myfunc;
这就是Mixpanel所做的:
http://cdn.mxpnl.com/libs/mixpanel-2-latest.js
相关文章:
- 访问函数外部的变量
- appendChild在函数外部工作,但在函数内部不工作
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- JavaScript未定义的函数外部JavaScript文件
- 重写/重写javascript库函数
- 将 jquery 库函数写入打字稿
- 没有在函数外部分配全局变量
- 是'要求(..)'常见的javascript模式或库函数
- 在挖空中引用对象构造函数外部视图模型的属性
- 访问函数外部的变量
- JS:从函数外部调用变量
- 在函数外部的 Angularjs 中访问 $http.get 的结果
- JQuery 更改函数外部的变量值
- 函数外部的 clearTimeout() 无法正常工作
- Javascript - 无法获取函数来设置要在函数外部使用的全局变量
- 如何设置 var self = this;从函数外部
- 在 JavaScript 中维护函数外部变量的值
- 调用库外部的库函数
- 如何对调用外部定义的库函数的Javascript文件进行单元测试?
- 简单但困难.如何强制外部库函数按顺序运行