做个笔记。。。
例如:
(function (){
console.log("函数");
})();
推理过程:
function fn1(){
console.log("函数");
};
// 调用函数
fn1();
// fn1时函数名,它包含函数的代码,函数的代码就是“function(){console.log("函数");}”,用括号包裹,替换fn1,得:
(function (){
console.log("函数");
})();
此函数是一次性函数,申明的同时就调用了,页面加载完后函数就执行完了
(function (形参){
console.log("函数");
})(实参);
那么,再引申一个例子:实现局部变量到全局变量的转换
(function (win){
var num=123;
win.numk=num
})(window);
console.log("numk"); //全写就是console.log("window.numk");
局部变量将值赋给window。
window是对象,所以不能写win=num,再log(win),需要采用添加属性的方式