JavaScript--函数表达式与函数声明的区别
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 /** 8 * 函数表达式与函数声明的区别 它们与预解析的关系 9 * */ 10 11 /*函数声明*/ 12 fn(1,2); // 可以执行,因为预解析会被函数提升到当前作用域最顶端 13 function fn(a,b){ 14 alert("函数声明"+a+b); 15 } 16 17 /*函数表达式*/ 18 fn(1,2); // 报错,预解析值提升变量的声明,而赋值不会提示 19 fn = function (a,b) { 20 alert("函数表达式"+a+b); 21 } 22 23 24 // 函数声明与函数表达式的区别: 预解析不一样 25 </script> 26 </head> 27 <body> 28 29 </body> 30 </html>