函数&函数表达式&自执行函数
2017-09-05 本文已影响2人
大胡子111
函数基本概念:
function box(){} //函数声明
var box = function(){}; //函数表达式
function(){} //匿名函数:属于函数表达式
1.匿名函数的作用:如果将匿名函数赋值给一个变量,则声明了一个函数:
var box= function(){};
2.如果将匿名函数赋予一个事件则成为事件处理程序:
box.addEventListener("click",function(){alert("aaa")});
函数定义的三种方法:
var box = function(){};
function box(){}
var box = new Function();
函数声明和函数表达式的不同:
1.js在进行预解析时函数声明会提升,而函数表达式必须js顺序执行到此函数代码时才会逐行解析,只能以box()的方式调用才行
//函数声明
var box=function(){
alert('我爱北京天安门')
}
//函数调用
box()
2.函数表达式后面加括号可以立即执行函数,函数声明不可以立即执行,
(function (w) {
alert(w)
}(window))
自执行函数:立即调用的函数表达式
写法1:
(function (w) {
alert(w)
})(window)
写法2 (推荐)
(function (w) {
alert(w)
}(window))
写法3 (~,+,-,!都可以)
~function (w) {
alert(w)
}(window)