函数声明
function functionname(arg0,arg1......){}
有标示符(函数名) 有函数声明提升(可以先把声明函数放在调用的后边,因为函数声明会被先解析)。
函数表达式
function functionname(可选)(arg1,arg1....){}
最常见的一种是function后边没有标示符,叫匿名函数,也叫拉姆达函数。匿名函数的name属性是空字符串。
//不要这样做
if(condition){
function sayhi(){
alert(“hi”);
}
}else{
function sayhi(){
alert(“yo”);
}
}
无效语法,javascript会尝试修正错误将其转化为合理的状态,但修正错误的做法不一样,,有的返回第一个,有的返回第二个。