js預解析分段的問題的區域性作用域的問題
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>$永遠的24k純帥$</title>
<script>
//預解析中,變數的提升,只會在當前的作用域中提升,提前到當前的作用域的最上面
//函式中的變數只會提前到函式的作用域中的最前面,不會出去
//預解析會分段(多對的script標籤中函式重名,預解析的時候不會衝突)
// function f1() {
//
// console.log(num);//undefined
// var num=10;
// }
// f1();
// console.log(num);//
function f1() {
console.log("哈哈");
}
</script>
<script>
f1();
function f1() {
console.log("嘎嘎");
}
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>$永遠的24k純帥$</title>
<script>
// var a = 25;
// function abc (){
// alert(a);//undefined
// var a = 10;
// }
// abc();
// console.log(a);//25
// var a;
//function a() {
// console.log('aaaaa');
//}
// console.log(a);
//
// a = 1;
// console.log(a);//1
// var a;
// a = 18;
// function f1() {
// var b;
// var a;
// b = 9;
// console.log(a);//undefined
// console.log(b);//9
// a = '123';
// }
// f1();
// function f1() {
var a=b=c=9;
// var a;//區域性變數
// a=9;
// //隱式全域性變數
// b=9;
// c=9;
// console.log(a);//9
// console.log(b);//9
// console.log(c);//9
// }
// f1();
// console.log(c);// 9
// console.log(b);// 9
// console.log(a);//報錯
//console.log(parseInt(Math.random()*57+1));
</script>
<script>
f1();//-----報錯
var f1=function () {
console.log(a);
var a=10;
};
function f2() {
}
f2();
</script>
</head>
<body>
</body>
</html>