自执行函数语法:

(function(){}()) 外面一个括号的 是直接获取返回值
里面计算一次
(functuon(){})() 外面2个括号并排的
是先计算前面括号的值 然后执行这个返回值 当然返回的肯定要是函数
前面是包在一起
整体性要好一些

js分为全局作用域和函数作用域,全局作用域在函数内部可以访问到,但是函数内部的变量,外部无法访问到

var name = “张三”;
(function(){
console.log(name)//这里因为变量提升,name === undefined,所以结果是undefined
var name = ‘李四’
console.log(name)//这里执行的是 name = 李四 ,所以自然就是lisi了
})()
console.log(name)//函数的作用域,在全局中无法访问,这里结果是张三
var name = ‘张三’;
(function(){
console.log(name)//函数内部没有name 这个变量,所以像全局查找,全局有一个name,那么结果就是张三
name = ‘李四’
console.log(name)//同理,这里结果是lisi,因为name被赋值成李四
})()
console.log(name)//李四

版权声明:本文为maxiaowei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/maxiaowei/p/11043847.html