Js函式作用域
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>$永遠的24k純帥$</title>
<script>
//作用域:使用範圍
/*
* 全域性變數:宣告的變數是使用var宣告的,那麼這個變數就是全域性變數,全域性變數可以在頁面的任何位置使用
* 除了函式以外,其他的任何位置定義的變數都是全域性變數
* 區域性變數:在函式內部定義的變數,是區域性變數,外面不能使用
* 全域性變數,如果頁面不關閉,那麼就不會釋放,就會佔空間,消耗記憶體
* 全域性作用域:全域性變數的使用範圍
* 區域性作用域:區域性變數的使用範圍
* 塊級作用域:一對大括號就可以看成是一塊,在這塊區域中定義的變數,只能在這個區域中使用,但是在js中在這個塊級作用域中定義的變數,外面也能使用;
* 說明:js沒有塊級作用域,只有函式除外
*
* 隱式全域性變數:宣告的變數沒有var,就叫隱式全域性變數
* 全域性變數是不能被刪除的,隱式全域性變數是可以被刪除的
* 定義變數使用var是不會被刪除的,沒有var是可以刪除的
* */
// function f1() {
// number=1000;//是隱式全域性變數
// }
// f1();
// console.log(number);
// var num1=10;
// num2=20;
// delete num1;//把num1刪除了
// delete num2;//把num2刪除了
// console.log(typeof num1);
// console.log(num1+10);
// console.log(typeof num2);
// num=100;
// console.log(num);
//擴充套件:隱式
// function f1() {
// var num=100;
// num+=10;
// }
// f1();//這個函式結束之後
// {
// var num=10;
// console.log(num);//10
// }
// console.log(num);
// if(true){
// var num=10;
// }
// console.log(num);
// for(var i=0;i<5;i++){
// var number=20;
// }
// console.log(number);
// var i=0;
// while (i<5){
// var num=100;
// i++;
// }
// console.log(num);
// function f1() {
// var num=10;
// }
// f1();
// console.log(num);
// var num=10;
// console.log(num);//10
</script>
<script>
//console.log(num);
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>$永遠的24k純帥$</title>
<script>
var num=10;
function f1() {
var num=20;
function f2() {
var num=30;
function f3() {
var num=50;
console.log(num);
}
f3();
}
f2();
}
f1();
</script>
</head>
<body>
</body>
</html>