1、常见的function写法如下:
#1 函数表达式
var fn = functio(){}
#2函数声明
function fn(){}
#3匿名函数
function(){}
2、自执行函数
自执行函数也叫立即调用函数。
在函数体后面加括号就能立即调用,则这个函数必须是函数表达式,不能是函数声明。
#括号
(function(arg){
console.log(arg)
})(1) //输出1
#叹号
!function(arg){
console.log(arg)
})(1) //输出1
#加号
+function(arg){
console.log(arg)
})(1) //输出1
#减号
-function(arg){
console.log(arg)
})(1) //输出1
因为 + -是js的运算符,所以写括号的形式最为保险。
3、有什么用?
比如让网页根据用户使用的设备来判断让用户浏览pc页面还是手机端页面。
(function(){
if(用户是手机){
window.location = "手机.html";
}else{
return false;
};
})()
但是你可能会说我可以用window.onload = function来做。
但window.onload = function 不能重复使用,同时存在多个的时候,就只执行一个。如下:
window.onload = function(){
console.log(1);
};
window.onload = function(){
console.log(2);
};
window.onload = function(){
console.log(3);
}; //只输出3
但是自执行函数就没有这个问题:如下:
(function(){
console.log(1)
})();
(function(){
console.log(2)
})();
(function(){
console.log(3)
})(); //输出 1 2 3
网友评论