繁体   English   中英

javascript中的function(){}是什么意思?

[英]What is the meaning of function(){} in javascript?

最近,我遇到了一段像这样的代码:

var noop = function(){};
    options.ondragover = options.ondragover || noop;
    options.ondragleave = options.ondragleave || noop;
    options.ondrop = options.ondrop || noop;
    options.onfilesdone = options.onfilesdone || noop;

您发布的代码声明了一个名为noop(无操作)的空函数,作为在某些情况下执行的替代方法。 例如代码:

options.ondragover = options.ondragover || noop;

检查options.ondragover存在,如果不存在,则将空函数分配给该变量。

它只是一个自我执行的函数,您可以在其中声明的任何内容执行相同的函数。

它限制范围并使其私有,并从全局对象中隐藏变量。

// Somewhere it is defined as global..
var x = 7;  
// Your piece of code
var x = "roman" // Here, you override the value of x defined earlier.
alert(x); // "roman"    
But when you use a closure which you have mentioned:    
var x = 7;   
// it doesn't affect/change the value of global x   
(function (){ var x = "roman";})();
alert(x); // 7

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM