您如何向知道其所包含概念的人(例如函数,变量等)解释JavaScript闭包,但不了解闭包本身?
我已经看过维基百科上给出的Scheme示例,但遗憾的是它并没有帮助.
这是Google Analytics的跟踪代码:
var _gaq = _gaq || [];
_gaq.push(["_setAccount", "UA-256257-21"]);
_gaq.push(["_trackPageview"]);
(function() {
var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
})();
Run Code Online (Sandbox Code Playgroud)
您可以看到该函数在括号内.
你为什么这么认为?
在一些网站上的一些JS代码中,我看到如下的Javascript代码:
SomeName.init = (function () {
// some stuff
})();
Run Code Online (Sandbox Code Playgroud)
我的意思是,这不是一个jQuery插件代码,如下所示:
(function( $ ){
$.fn.myPlugin = function() {
// Do your awesome plugin stuff here
};
})( jQuery );
Run Code Online (Sandbox Code Playgroud)
那这是什么?什么是生成的JS对象?