js声明函数和函数表达式

说函数之前先讲一下浏览器解析js前先做的事
1.把变量,函数表达式的声明提到当前作用域的顶端
2把函数赋值
声明函数:是使用function关键字加函数名声明的函数
function fn(){
console.log(123);
}
函数表达式:就是使用function关键字,没有函数名赋值给一个变量的函数,就是使用function关键字但是没有函数名的函数。
var b = function(){
console.log(456);
}
()表示执行
声明函数和函数表达式的区别:
函数表达式可以使用()操作符立即执行,函数声明不可以。
(function fn(){
console.log(123);
})();
()();第一个()把匿名函数定义成函数表达式,第二个()表示执行,如上。
给大家讲一下作用域的问题:
全局变量可以在任何地方访问。
函数内部的变量,对外部是不可见的。
函数内部可以访问外部的变量。

在函数里,每个函数都有一个默认返回值undefined

Share