调用页面中未包含的javascript文件中的函数

调用页面中未包含的javascript文件中的函数,javascript,jquery,Javascript,Jquery,以下是一个例子: 我有一个文件1.js,它有一些函数。我必须将它们提供给另一个文件2.js。 页面中不包含1.js,但包含2.js(使用src='') 有办法做到这一点吗?我根本不想向用户公开1.js,而是想在2.js中使用它的功能 JavaScript在客户端(浏览器)上工作,因此您必须使文件对他们可用。 考虑对文件进行编码和缩小,使其更难读取。 更多信息 更新 您可以通过Ajax调用获取javascript并使用eval。我会用这种方法来做 可以像这样使用javascript包含ja

以下是一个例子:

我有一个文件1.js,它有一些函数。我必须将它们提供给另一个文件2.js。 页面中不包含1.js,但包含2.js(使用src='')

有办法做到这一点吗?我根本不想向用户公开1.js,而是想在2.js中使用它的功能 JavaScript在客户端(浏览器)上工作,因此您必须使文件对他们可用。 考虑对文件进行编码和缩小,使其更难读取。

更多信息

更新
  • 您可以通过Ajax调用获取javascript并使用
    eval
    。我会用这种方法来做

  • 可以像这样使用javascript包含javascript文件

    function include(filename)
    {
        var head = document.getElementsByTagName('head')[0];
    
        script = document.createElement('script');
        script.src = filename;
        script.type = 'text/javascript';
    
        head.appendChild(script)
    
    }

  • 然后可以从其他脚本/源调用方法。但这对用户来说是可见的,有经验的用户会发现这一点。 很难找到一个简单的

    <script src="..." type="text/javascript"></script>
    
    
    
    您无法将javascript保持为私有。如果您希望它运行,用户将能够看到它。您可以混淆它,但即使这些方法也可能被破坏,因此如果这是关于隐私的,请尝试其他方法。您可以使用闭包将其组织为类和对象,但即使是这些类和对象也可以由有决心的用户调用。

    我在一次采访中被问到这个问题。我说了你的建议,但那家伙似乎不相信:(你可以做很多事情来隐藏它,但因为它必须在用户的机器上运行,所以最终他们会完全控制它。还有一个问题:如果我们只是在2.js中包含1.js,它会起作用吗?我的意思是,如果我们只在页面上包含2.js?不,不合并。在2.js之上,如果我们使用///src='1.js,我们可以看到方法。)ods在我们编辑器的自动完成中。这是否意味着“包含”1.js或其存在只是为了提供对1.js中函数的访问。否,您不能在javascript文件中使用脚本标记,因为脚本标记是html。但是您可以使用2.js中我的答案中的include方法来加载1.js