我有一个js:1.js,里面有一个函数f();
有另外一个js:2.js,里面有一个函数g();其中调用了1.js中的f();现在我要给用户使用2.js,用户会使用里面的函数g(),如何让用户只包含2.js就可以呢?我可否在2.js里面包含1.js,这样用户就只用包含1.js就可以了:)多谢大家。

解决方案 »

  1.   

    demo 
    没有考虑 多参数 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!');
    }
      

  2.   

    梅子有一个复杂的架构好像专门完成这样的事情,不过1.js肯定要加载到浏览器中才能调用的,不过这个加载过程可能是通过脚本来加载的,mrshelly就提供了这样一个方法。
      

  3.   

    比如这是1.js-->>
    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>
      

  4.   

    思路很简单的,前提是 1.js和2.js需要被一个共同的实例容器引用
    例如被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");
       });
      

  5.   

    一个html中把这两个js文件包进来呀,没别的办法