前端开发中,使用(function(){})()的方式,创建一个匿名函数,并且立即执行它。这种模式在某些情况下很有用,例如在创建一个独立的作用域,防止变量污染全局命名空间,或者用于封装一些代码以便控制变量的生命周期。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
(function () {
var a = 1;
console.log(a);
})(); // 这个分号必须存在!!!!
(function () {
var a = 2;
console.log(a);
})();
</script>
</body>
</html>
这种做法在很多场景中都能使用到,比如说模块化开发、函数参数默认值、创建私有作用域等。在使用echarts或者一些其他需要固定代码的场景中经常会用到。