でんしけんびきょう


name = 'nero'
wrapper関数のscopeでvarnameを探して、うん?いいえ.
グローバルにvarnameがあるので、nameをneroに変更する必要があります.
それからlog関数を呼び出して、log関数のscopeの中でvarnameを探して、いいですか?いいえ.グローバルなvarnameをコンソールに出力するには~
だから
でもvarを加えると?

同じ手順でwrapper関数のscopeでvarを検索し、scope内のnameをneroに変更します.したがって、グローバルなvarname='zeroは触られません!
次にlog関数を呼び出し、log関数のscopeに移動し、コンソールに移動します.ロゴを作るときはvarnameはありませんよね?上にいるの?全ドメインにvarnameが0の値があるんだな~これを出力するぞ~
したがって、ゼロが出力される
LexicalScope=静的Scopeコードが書かれた瞬間にScopeが確定
コード自体がコードです.
機能が同じだからといって置き換えてはいけない.
log関数はconsoleです.log(name)を作るのでlog()はconsoleロゴを言うと大変なことになります!
logのnameはパッケージのvarnameの影響を受けません
functionもvarと同じように動作し、同じくScopeが適用されました!!

この方式は静的走査,Lexical走査である.
コード作成時に値が固定されるため、静的スキャン
ダイナミックスキャンは、最近実行された関数のスキャンに従います.

ダイナミックスキャンの場合、logはパッケージのスキャンに従います.