什么是立即执行函数-怎么解决命名冲突的问题

我们普通函数是需要调用才可以执行的,像这样:

function getTest(){
    console.log('hello')
}

get getTest()

但是立即执行函数无需调用函数,可以自己执行:

(function(){})();


(function(){}());

这是立即执行函数的俩种写法

tips:立即执行函数结束必须加封号;

(function getTest(x,y){
    console.log(x + y)
}(5,6));

 它最大的作用就是独立的创建了一个作用域,里面所有的变量都是局部变量,不会有命名冲突的问题

(function getTest(){
    //局部变量num
    var num = 10
    console.log('hello')
}());


console.log(num)

不过说起命名冲突,ES6语法声明变量我们都会去使用let和const了,很好的解决了命名冲突的问题,详细介绍查看:

ES6——let-const的变量声明以及模板字符串_Developer小蜗的博客-CSDN博客

你可能感兴趣的:(JS,javascript,JS,函数,变量,立即执行函数)