1

在 javascript 中,我想知道是否有办法检查某个库(jQuery、Modernizr 等)是否存在,如果不存在,则发出警报。

像:require( jQuery ); // if jQuery is undefined, display an alert
或者: require( Modernizr ); // if Modernizr is undefined, display an alert

我知道这是可能的,因为ModernizrjQuery是对象,因此我检查 是有意义的typeof,如下所示:

function pass() { } // use as noop

var require = function( tool ) {
    if(typeof(tool) == "undefined") {
        alert("[" + tool + "] is not defined.");
    } else {
        pass();
    }
}

    require( jQuery );

但这当然行不通,因为 Chrome 的错误控制台说"Object [jQuery] is not defined."因为我测试了不存在的东西。有小费吗?

JavaScript 的很多新手,所以任何帮助将不胜感激!

4

2 回答 2

1

您应该将工具作为字符串传递,然后检查该window键的对象:

var require = function( tool ) {
    if (window[tool] === undefined) {
        alert("[" + tool + "] is not defined.");
    } else {
        pass();
    }
}

require( 'jQuery' );

这是小提琴:http: //jsfiddle.net/9vXM2/

于 2013-01-31T00:12:28.097 回答
1

http://yepnopejs.com/是@ModernDesigner 之后的你

于 2013-01-31T00:14:42.640 回答