1. 程式人生 > >Js函式作用域

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>