在javascript中,我想知道是否有办法检查某个库(jQuery,Modernizr等)是否存在,如果没有,则抛出警报。
类似于:require( jQuery ); // if jQuery is undefined, display an alert
或者:require( Modernizr ); // if Modernizr is undefined, display an alert
我知道这是可能的,因为Modernizr
和jQuery
是对象,因此我有理由检查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,所以任何帮助都会非常感激!
答案 0 :(得分:1)
您应该将该工具作为字符串传递,然后检查window
对象中的该键:
var require = function( tool ) {
if (window[tool] === undefined) {
alert("[" + tool + "] is not defined.");
} else {
pass();
}
}
require( 'jQuery' );
答案 1 :(得分:1)
http://yepnopejs.com/就是@ModernDesigner
之后的样子