- スコープは、特定の範囲内の変数の機能と効果です
- js スコープの前 (es6): グローバル スコープ、ローカル スコープ
- グローバル スコープ: script タグ全体、または個別の js ファイル
- ローカルスコープ:関数内で、関数内に効果と機能があります
- js にはブロック スコープがありません
1. グローバル変数
1. グローバルに宣言された変数
2. *特殊: 関数内、未宣言
var num = 10 //num是一个全局变量
function fn(){
console.log(num)
}
fn()
function fn2(){
var num1 = 10 //局部变量
num2 = 20 //全局变量
}
fn2()
// console.log(num1)
console.log(num2)
2. ブロックレベルのスコープ
js は es6 にブロックレベルのスコープを追加します
// ブロックスコープ
//ジャバで
もしも(**){
int 番号 = 10;
}
// 外部から num を呼び出すことはできません
しかしjsで
もし(5>3){
変数番号 = 10;
}
console.log(数値)
3. スコープチェーン
近接の原則: 次のコードの出力は 20 です
//作用域链
//console.log('作用域链')
var num = 10
function fn(){
var num = 20
function fun(){
console.log(num)
}
fun()
}
console.log('ss');
fn()