代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> var a = 18; f1 (); function f1 () { var b = 9; console.log(a); console.log(b); var a = '123'; } // 等价于 var a; function f1 () { var b; var a b = 9; console.log(a); console.log(b); a = '123'; } a = 18; f1 (); </script> </head> <body> </body> </html>
js代码执行过程会将var变量和函数都提到前面去,之后将剩余的东西写后面。
代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> // 下面这个不是集体赋值,集体赋值的话使用逗号 // 没有var 声明的全部归位全局变量使用 var a = b = c = 9; // 等价于 var a = 9; b = 9; c = 9; </script> </head> <body> </body> </html>