[英]Function Scoped JavaScript Variables ACCESS on a 'NON Strict Mode '
function scoped() { var a = 150; let b = 300; const c = 500; } a = 300; // Why is it possible to access a function scoped variable? b = 600; // Same as above c = 1000; // Same as above and also why I can change value of constant? console.log(a); // Return: 300 - Why it works? console.log(b); // Return: 600 - Why it works? console.log(c); // Return: 1000 - Why it works?
為什么可以(在非嚴格模式下)訪問 function 范圍變量? 這不應該被允許嗎?
為什么我什至可以更改常量的值?
在這種特定情況下,scope 或吊裝如何在幕后工作?
“var”關鍵字創建全局 scope 變量,而不是在 JS 中阻止 scope 變量。 表示 function 內部的“a”,它外部或(在全局范圍內)相同的“a”。
“const,let”關鍵字創建了一個“塊作用域”變量,也就是說function里面的b,c和外面的b,Z4A8A08F09D37B73795649038408B53F是不一樣的。 有兩個 b,c 變量 1- 在 function 內部 2- 在全局 scope (函數外部)。
對不起我的英語,我希望你清楚。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.