我有一个js:1.js,里面有一个函数f();
有另外一个js:2.js,里面有一个函数g();其中调用了1.js中的f();现在我要给用户使用2.js,用户会使用里面的函数g(),如何让用户只包含2.js就可以呢?我可否在2.js里面包含1.js,这样用户就只用包含1.js就可以了:)多谢大家。
有另外一个js:2.js,里面有一个函数g();其中调用了1.js中的f();现在我要给用户使用2.js,用户会使用里面的函数g(),如何让用户只包含2.js就可以呢?我可否在2.js里面包含1.js,这样用户就只用包含1.js就可以了:)多谢大家。
没有考虑 多参数 Function 修改一下即可. 这里只是演示一下.
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script><script type="text/javascript">
function loadFunction(fFile,fName){
var headObj = $('head')[0]; var scriptObj = document.createElement('script');
scriptObj.language = 'javascript';
scriptObj.type = 'text/JavaScript';
scriptObj.src = fFile; scriptObj.onload=scriptObj.onreadystatechange=function(){
if(this.readyState && this.readyState == 'loading'){
return ;
}else{
this.callBack();
}
};
scriptObj.callBack=function(){
eval(fName+'();');
}; headObj.appendChild(scriptObj);
} if(typeof(test1) != 'Function'){
loadFunction('test.js','test1');
}
</script><input value='Run test1 again!' type='button' onclick='test1();' />
<input value='Run test2' type='button' onclick='test2();' />test.js
function test1(){
alert('at test1!');
}function test2(){
alert('at test2!');
}
function hello(val){
window.alert("bvglk"+val);
}
这是2.html-->>它调用1.js中的函数
<html>
<body>
<script language="javascript" src="test.js"></script>
<script language="javascript">
/*num1=456;
num2=789;
result=num1 + num2;
v1 = "helloworld!";
v2 = 44;
//var v3=parseDouble(12);*/
/*window.alert("结果是:" + result);
window.alert("v1是:" + typeof v1);
window.alert("v2是:" + typeof v2);*/
//window.alert("v1是:" + typeof v1);
//window.alert(v2);
//window.alert("您好!!");*/
hello("bgmf");
</script>
</body>
</html>
例如被common.jsp所引用
common.jsp //...
<script type="text/javascript" src='/XXX/1.js' />"></script>
<script type="text/javascript" src='/XXX/2.js' />"></script>1.js 中加入有以下方法 Common.test.$_JS1 = function(val){
alert(val);
};在2.js中调用1.js的方法 $(function(){
Common.test.$_JS1 ("2.js调用1.js");
});