3

我想编写一个函数来控制它可以执行的 API。例如,在将 jQuery 加载到页面后,我将如何编写一个无需 jQuery 私下执行的匿名函数:

var app = (function(){
  $("body").append("should not append because it does not recognize jQuery");
})();

代替

var app = (function(){
  $("body").append("should append because jQuery is recognized");
})(jQuery);
4

1 回答 1

0

扩展 Nasser 所说的内容,您可以(在本地)将您想要禁止的东西声明为未定义的变量:

// allow jQuery
(function () { // don't overwrite $ or jQuery, so it's allowed, basically
    $("body").append("should append because jQuery is recognized");
}());


// disallow jQuery
(function ($, jQuery) { // declare $ and jQuery as undefined in the function scope
    // the line below will throw an error, though
    $("body").append("should not append because it does not recognize jQuery");
}());

您可以进一步扩展此内容,但这是一般的想法。

于 2013-09-09T06:17:58.070 回答