1.关于自执行函数
1.1 写自执行函数的好处:独立的作用域,不会污染全局环境
1
2
3
|
(function() {
})();
|
1.2 理解重点:函数的自执行过程
1.3 参考书籍:JS高级程序设计指南
1.4 给自执行函数加参数的好处:对于当前作用域中,如果将window传入,就不用依赖全局对象了,一直控制在局部作用域
1
2
3
|
(function(window,document) {
var
div=document.getElementById(
'div'
);
})(window,document);
|
2.JS自执行函数的常见写法
2.1 进行赋值操作的方式
1
2
3
|
var
a=function(){
console.log(
'test'
);
}();
|
2.2 给函数体加小括号的方式
1
2
3
|
(function aaa() {
console.log(
'test'
);
})();
|
2.3 在函数体前加逻辑运算符的方式 eg:
1
2
3
|
!function() {
console.log(
'test'
);
}();
|
2.4 在函数体前加数学运算符的方式 eg:
1
2
3
|
+function () {
console.log(
'test'
);
}();
|
3.相关面试题:
1
2
3
4
5
6
7
8
|
var
btn=document.getElementById(
'btn'
);
btn.onclick=function(){
console.log(111);
}(function() {console.log(222);})
();
|
注意,btn函数后不加;自执行函数会报错。会将后面的自执行函数体当成btn函数的对象