JavaScript"包含"功能?

Jac*_*ton 2 javascript python jquery include

我想知道是否有一个javascript"include"函数(类似于python中的那个),我正在寻找一些但除了$.load()和之外找不到任何东西google.load().

所以,我冒昧地创建了一个脚本,可以做到这一点只是为了好玩,所以:

var include = function( lib ) {
// start with jQuery
    if(lib == "jquery") {
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "http://code.jquery.com/jquery.min.js";
        script.defer = "defer"; // should I use script.setAttribute('defer', 'defer')?
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(script, s);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,在一个单独的脚本中:

include("jquery");
$("p").innerHTML = "Worked!";
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误 $ is not defined

这是有道理的,因为脚本在加载jQuery之前运行.所以我的问题是,有没有办法确保包含脚本先于其他任何内容运行?我见过的callback解决方案看起来像这样:

include("http://code.jquery.com/jquery.min.js", function() {
    $("p").innerHTML = "Worked!";
});
Run Code Online (Sandbox Code Playgroud)

但我确实想知道是否有任何东西(比如我上面提出的)更整洁一点.

任何帮助将非常感激!

rai*_*7ow 6

你在这里重新发明轮子:有大量的库/组件基本上做同样的工作,但有更多的功能.检查异步模块定义APIRequireJS的开始.