Baseline Widely available
åè¯å¥ç¨äºå°é¶ä¸ªæå¤ä¸ªè¯å¥ç»åå¨ä¸èµ·ãåç±ä¸å¯¹å¤§æ¬å·ï¼âè±æ¬å·âï¼çå®ï¼å¹¶å å«é¶ä¸ªæå¤ä¸ªè¯å¥å声æã
å°è¯ä¸ä¸var x = 1;
let y = 1;
if (true) {
var x = 2;
let y = 2;
}
console.log(x);
// Expected output: 2
console.log(y);
// Expected output: 1
è¯æ³
StatementList
åè¯å¥ä¸çè¯å¥å声æ
å¨å
¶ä»è¯è¨ä¸ï¼åè¯å¥é常称为å¤åè¯å¥ãå®å
è®¸ä½ å¨ JavaScript ææä»
䏿¡è¯å¥çå°æ¹ä½¿ç¨å¤æ¡è¯å¥ãå¨ JavaScript ä¸å°è¯å¥ç»åæåæ¯å¸¸è§çåæ³ï¼å°¤å
¶æ¯å¨ä¸æ§å¶æµè¯å¥ï¼ä¾å¦ if...else
å for
ï¼ä¸èµ·ä½¿ç¨æ¶ã使ç¨ç©ºè¯å¥å¯ä»¥å®ç°ç¸åçè¡ä¸ºï¼å³å¨éè¦è¯å¥æ
åµä¸ä¸æä¾ä»»ä½è¯å¥ã
æ¤å¤ï¼ç»å使ç¨åä½ç¨å声æï¼å¦ let
ãconst
å class
ï¼ï¼åå¯ä»¥é²æ¢ä¸´æ¶åéæ±¡æå
¨å±å½å空é´ï¼å°±å IIFEï¼ç«å³è°ç¨å½æ°è¡¨è¾¾å¼ï¼ä¸æ ·ã
éä¸¥æ ¼æ¨¡å¼ä¸ï¼ä½¿ç¨ var
声ææç±å½æ°å£°æå建çåéä¸å
·æå级ä½ç¨åãå¨åå
é¨å¼å
¥çåéçä½ç¨åéäºå
å«ç彿°æèæ¬ï¼å¹¶ä¸å¯¹å®ä»¬ç设置ä¼å¨åæ¬èº«ä¹å¤ä»ç¶ææãä¾å¦ï¼
var x = 1;
{
var x = 2;
}
console.log(x); // 2
è¿æ®µä»£ç è¾åºå
容为 2ï¼å 为åå
ç var x
è¯å¥ä¸åä¹åç var x
è¯å¥å¤äºåä¸ä¸ªä½ç¨åã
å¨éä¸¥æ ¼æ¨¡å¼ä¸ï¼åå 彿°å£°æçè¡ä¸ºå¾å¥æªã请å¿ä½¿ç¨å®ä»¬ã
ä¸¥æ ¼æ¨¡å¼ä¸ä½¿ç¨ letãconstãclass æå½æ°å£°ææ¶çåä½ç¨åè§åä¸ä¹ç¸åï¼ä½¿ç¨ let
ãconst
å class
声æçæ è¯ç¬¦å
·æå级ä½ç¨åã
let x = 1;
{
let x = 2;
}
console.log(x); // 1
x = 2
çä½ç¨åä»
éäºå®ä¹å®çåå
ã
const
乿¯å¦æ¤ï¼
const c = 1;
{
const c = 2;
}
console.log(c); // 1; ä¸ä¼æåº SyntaxError
请注æï¼åä½ç¨åç const c = 2
ä¸ä¼æåº SyntaxError: Identifier 'c' has already been declared
ï¼å 为å®å¯ä»¥å¨åå
å¯ä¸å°å£°æã
å¨ä¸¥æ ¼æ¨¡å¼ä¸ï¼åå ç彿°å£°æçä½ç¨åæ¯è¯¥åï¼å¹¶ä¸ä¼è¢«æåå°è¯¥åçé¡¶é¨ã
"use strict";
{
foo(); // è¾åº "foo"
function foo() {
console.log("foo");
}
}
foo(); // ReferenceError: foo is not defined
ç¤ºä¾ ä½¿ç¨åè¯å¥ä½ä¸º for 循ç¯ç循ç¯ä½
for
å¾ªç¯æ¥åå个è¯å¥ä½ä¸ºå
¶å¾ªç¯ä½ã
for (let i = 0; i < 10; i++) console.log(i);
å¦æå¾ªç¯ä½ä¸éè¦ä½¿ç¨å¤ä¸ªè¯å¥ï¼å¯ä»¥å°å®ä»¬ç»åæä¸ä¸ªåè¯å¥ï¼
for (let i = 0; i < 10; i++) {
console.log(i);
console.log(i ** 2);
}
使ç¨åè¯å¥å°è£
æ°æ®
let
å const
声æçä½ç¨åæ¯å
¶æå¨çåãè¿æå³çä½ å¯ä»¥å°æ°æ®éèå¨å
¨å±ä½ç¨åä¹å¤ï¼èæ éå°å
¶å
è£
å¨ä¸ä¸ªå½æ°ä¸ã
let sector;
{
// è¿äºåéçä½ç¨åä»
éäºæ¤åï¼å¹¶ä¸å¨åç»æåä¸å¯è®¿é®ã
const angle = Math.PI / 3;
const radius = 10;
sector = {
radius,
angle,
area: (angle / 2) * radius ** 2,
perimeter: 2 * radius + angle * radius,
};
}
console.log(sector);
// {
// radius: 10,
// angle: 1.0471975511965976,
// area: 52.35987755982988,
// perimeter: 30.471975511965976
// }
console.log(typeof radius); // "undefined"
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4