当您将JavaScript代码包装在这样的函数中时:
(function(){
var field = ...;
function doSomthing(){...
...
})();
Run Code Online (Sandbox Code Playgroud)
我注意到这在很多网页上为我修复了范围问题.这种做法叫做什么?
可能重复:
以下JavaScript构造是否称为Closure?
围绕JavaScript对象/函数/类声明的括号是什么意思?
(function(){})()构造如何工作以及人们为什么使用它?
(function(){})()之间的区别; 和function(){}();
嗨,
因为我正在查看一个只有简单的html文本的站点而没有图形我想到查看它的代码.
当我这样做时,我找到了这个脚本
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-13137273-2']);
_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);
})();
</script>
Run Code Online (Sandbox Code Playgroud)
使用如下代码有什么特殊目的
(function() { /*code;*/ })();
Run Code Online (Sandbox Code Playgroud)
我在jquery中看到过它.但我对自由风格的极端JavaScript编程仍然不太满意.
建议,意见和答案.任何都会很好.
谢谢
[我在第一个答案后写这个.在某种意义上的极端......这是我在其他编程语言中找不到的,而且我无法猜到它可能是什么.除了javascript中有很多非凡的选项,我提到它是极端的.也许我应该使用另一项工作.]