我有两个脚本,我需要在script2中使用script1函数。什么是最好的方法,是否有任何简化使用原型来访问更多脚本中的功能。我正在使用jquery。
SCRIPT1
$(function(){
function process(){
// some code
}
})
SCRIPT2
$(function(){
// I would like to use the process function here
}
答案 0 :(得分:1)
您可以使用javascript函数作为变量。所以,请重新阅读有关变量的相同内容的问题 - Unable to access variable
所以,只需这样做,您的功能将在全球范围内提供。
答案 1 :(得分:1)
Sample.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script type="text/javascript" charset="utf-8" src="Script1.js" ></script>
<script type="text/javascript" charset="utf-8" src="Script2.js" ></script>
<script>
</script>
<BODY onload='calling();'>
</BODY>
</HTML>
Scrip1.jc
function call(){
alert("Hi i am called from script2");
}
Scrip2.js
function calling(){
call();
}
希望这对你有所帮助。
答案 2 :(得分:1)
只需将函数声明移到ready事件处理程序之外,即可使其全局可用。
答案 3 :(得分:0)
另一个想法:使用对象:
var Ob = {
process: function(callback) {
callback();
}
}
SCRIPT1
$(function(){
Ob.process(function(){
... // code
});
});
脚本2(做同样的)
$(function(){
Ob.process(function(){
... //another code
});
});
如果您使用相同的process
功能(意味着相同的主体内容,在两个脚本中都做同样的事情)那么
var Ob = {
process: function() {
...//put code
}
}
SCRIPT1
$(function(){
Ob.process();
});
脚本2(做同样的)
$(function(){
Ob.process();
});