[英]Reusable function from an external script
简化示例:
// path/to/js/panel.js
$(function(){
var hidePanel = function(){
//hides the panel div
};
});
// path/to/js/another-script.js
$(function(){
hidePanel(); //out of scope MEGA-FAIL
});
正如我们所说的,我在2个不同的文件中复制粘贴了一些函数/变量。 我很好奇RequireJS是否可以解决这个问题...
如果需要使用jQuery,则只需在加载jQuery之后声明您的函数本身,但无需在document.ready
上声明该函数,只需随后执行即可 。 做您想做的最简单的方法是:
// path/to/js/panel.js
function hidePanel() {
//hides the panel div
}
// path/to/js/another-script.js
$(hidePanel);
这只是将您的函数传递给$()
,后者将其计划在document.ready
运行,或者如果文档已经准备好则立即运行 。
// path/to/js/panel.js
$(function(){
var hidePanel = function(){
//hides the panel div
};
});
使用此代码,您可以创建一个匿名函数。 匿名函数不会污染全局名称空间。 在匿名函数之外看不到在匿名函数中声明的所有变量(在本例中为hidePanel )。 因此,该功能不可用。
因此,您需要执行全局功能。 您可以通过不同的方式实现:
var hidePanel = function() {
});
function hidePanel() {
}
PS:我建议您学习javascript的OO模式:-) Javascript面向对象的编程| 第1部分
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.