æä»¬ä»å¦æ ¡éäºè§£å°è¿å¾å¤è¿ç®ç¬¦ï¼æ¯å¦è¯´å å· +ãä¹å· *ãåå· - çã
卿¬ç« ä¸ï¼æä»¬å°ä»ç®åçè¿ç®ç¬¦å¼å§ï¼ç¶åçéä»ç» JavaScript ç¹æçæ¹é¢ï¼è¿äºæ¯å¨å¦æ ¡ä¸å¦ä¹ çæ°å¦è¿ç®ææ²¡ææ¶µççã
æ¯è¯ï¼âä¸å è¿ç®ç¬¦âï¼âäºå è¿ç®ç¬¦âï¼âè¿ç®å â
卿£å¼å¼å§åï¼æä»¬å ç®åæµè§ä¸ä¸å¸¸ç¨æ¯è¯ã
-
è¿ç®å ââ è¿ç®ç¬¦åºç¨çå¯¹è±¡ãæ¯å¦è¯´ä¹æ³è¿ç®
5 * 2ï¼æä¸¤ä¸ªè¿ç®å ï¼å·¦è¿ç®å 5åå³è¿ç®å 2ãææ¶å人们ä¹ç§°å ¶ä¸ºâåæ°âè䏿¯âè¿ç®å âã -
妿ä¸ä¸ªè¿ç®ç¬¦å¯¹åºçåªæä¸ä¸ªè¿ç®å ï¼é£ä¹å®æ¯ ä¸å è¿ç®ç¬¦ãæ¯å¦è¯´ä¸å è´å·è¿ç®ç¬¦ï¼unary negationï¼
-ï¼å®çä½ç¨æ¯å¯¹æ°åè¿è¡æ£è´è½¬æ¢ï¼let x = 1; x = -x; alert( x ); // -1ï¼ä¸å è´å·è¿ç®ç¬¦çæ -
妿ä¸ä¸ªè¿ç®ç¬¦æ¥æä¸¤ä¸ªè¿ç®å ï¼é£ä¹å®æ¯ äºå è¿ç®ç¬¦ãåå·è¿åå¨äºå è¿ç®ç¬¦å½¢å¼ï¼
let x = 1, y = 3; alert( y - x ); // 2ï¼äºå è¿ç®ç¬¦åå·ååè¿ç®ä¸¥æ ¼å°è¯´ï¼å¨ä¸é¢ç示ä¾ä¸ï¼æä»¬ä½¿ç¨ä¸ä¸ªç¸åç符å·è¡¨å¾äºä¸¤ä¸ªä¸åçè¿ç®ç¬¦ï¼è´å·è¿ç®ç¬¦ï¼å³å转符å·çä¸å è¿ç®ç¬¦ï¼åæ³è¿ç®ç¬¦ï¼æ¯ä»å¦ä¸ä¸ªæ°åå»ä¸ä¸ªæ°çäºå è¿ç®ç¬¦ã
æ°å¦è¿ç®
æ¯æä»¥ä¸æ°å¦è¿ç®ï¼
- å æ³
+, - åæ³
-, - 乿³
*, - 餿³
/, - åä½
%, - æ±å¹
**.
åå个é½å¾ç®åï¼è % å ** åéè¦è¯´ä¸è¯´ã
åä½ %
åä½è¿ç®ç¬¦æ¯ %ï¼å°½ç®¡å®çèµ·æ¥å¾åç¾åæ°ï¼ä½å®é
å¹¶æ å
³èã
a % b çç»ææ¯ a æ´é¤ b ç 使°ã
ä¾å¦ï¼
alert( 5 % 2 ); // 1ï¼5 é¤ä»¥ 2 ç使°
alert( 8 % 3 ); // 2ï¼8 é¤ä»¥ 3 ç使°
æ±å¹ **
æ±å¹è¿ç® a ** b å° a æåè³ a ç b 次å¹ã
卿°å¦è¿ç®ä¸æä»¬å°å ¶è¡¨ç¤ºä¸º abã
ä¾å¦ï¼
alert( 2 ** 2 ); // 2² = 4
alert( 2 ** 3 ); // 2³ = 8
alert( 2 ** 4 ); // 2â´ = 16
å°±å卿°å¦è¿ç®ä¸ä¸æ ·ï¼å¹è¿ç®ä¹éç¨äºéæ´æ°ã
ä¾å¦ï¼å¹³æ¹æ ¹æ¯ææ°ä¸º ½ çå¹è¿ç®ï¼
alert( 4 ** (1/2) ); // 2ï¼1/2 次æ¹ä¸å¹³æ¹æ ¹ç¸å)
alert( 8 ** (1/3) ); // 2ï¼1/3 次æ¹ä¸ç«æ¹æ ¹ç¸å)
ç¨äºå è¿ç®ç¬¦ + è¿æ¥å符串
æä»¬æ¥çä¸äºå¦æ ¡ç®æ¯æªæ¶åç JavaScript è¿ç®ç¬¦çç¹æ§ã
é常ï¼å å· + ç¨äºæ±åã
使¯å¦æå å· + 被åºç¨äºå符串ï¼å®å°åå¹¶ï¼è¿æ¥ï¼å个å符串ï¼
let s = "my" + "string";
alert(s); // mystring
注æï¼åªè¦ä»»æä¸ä¸ªè¿ç®å æ¯å符串ï¼é£ä¹å¦ä¸ä¸ªè¿ç®å ä¹å°è¢«è½¬å为å符串ã
举个ä¾åï¼
alert( '1' + 2 ); // "12"
alert( 2 + '1' ); // "21"
ä½ çï¼ç¬¬ä¸ä¸ªè¿ç®å å第äºä¸ªè¿ç®å ï¼åªä¸ªæ¯å符串并ä¸éè¦ã
ä¸é¢æ¯ä¸ä¸ªæ´å¤æçä¾åï¼
alert(2 + 2 + '1' ); // "41"ï¼ä¸æ¯ "221"
å¨è¿éï¼è¿ç®ç¬¦æ¯æé¡ºåºå·¥ä½ã第ä¸ä¸ª + å°ä¸¤ä¸ªæ°åç¸å ï¼æä»¥è¿å 4ï¼ç¶åä¸ä¸ä¸ª + å°å符串 1 å å
¥å
¶ä¸ï¼æä»¥å°±æ¯ 4 + '1' = '41'ã
alert('1' + 2 + 2); // "122"ï¼ä¸æ¯ "14"
è¿éï¼ç¬¬ä¸ä¸ªæä½æ°æ¯ä¸ä¸ªåç¬¦ä¸²ï¼æä»¥ç¼è¯å¨å°å
¶ä»ä¸¤ä¸ªæä½æ°ä¹è§ä¸ºäºå符串ã2 è¢«ä¸ '1' è¿æ¥å°äºä¸èµ·ï¼ä¹å°±æ¯å '1' + 2 = "12" ç¶å "12" + 2 = "122" è¿æ ·ã
äºå
+ æ¯å¯ä¸ä¸ä¸ªä»¥è¿ç§æ¹å¼æ¯æå符串çè¿ç®ç¬¦ãå
¶ä»ç®æ¯è¿ç®ç¬¦åªå¯¹æ°åèµ·ä½ç¨ï¼å¹¶ä¸æ»æ¯å°å
¶è¿ç®å
转æ¢ä¸ºæ°åã
ä¸é¢æ¯åæ³å餿³è¿ç®ç示ä¾ï¼
alert( 6 - '2' ); // 4ï¼å° '2' 转æ¢ä¸ºæ°å
alert( '6' / '2' ); // 3ï¼å°ä¸¤ä¸ªè¿ç®å
é½è½¬æ¢ä¸ºæ°å
æ°å转åï¼ä¸å è¿ç®ç¬¦ +
å å· + æä¸¤ç§å½¢å¼ãä¸ç§æ¯ä¸é¢æä»¬åå讨论çäºå
è¿ç®ç¬¦ï¼è¿æä¸ç§æ¯ä¸å
è¿ç®ç¬¦ã
ä¸å
è¿ç®ç¬¦å å·ï¼æè
说ï¼å å· + åºç¨äºå个å¼ï¼å¯¹æ°å没æä»»ä½ä½ç¨ã使¯å¦æè¿ç®å
䏿¯æ°åï¼å å· + åä¼å°å
¶è½¬å为æ°åã
ä¾å¦ï¼
// 对æ°åæ æ
let x = 1;
alert( +x ); // 1
let y = -2;
alert( +y ); // -2
// 转åéæ°å
alert( +true ); // 1
alert( +"" ); // 0
å®çææå Number(...) ç¸åï¼ä½æ¯æ´å ç®çã
æä»¬ç»å¸¸ä¼æå°å符串转å为æ°åçéæ±ãæ¯å¦ï¼å¦ææä»¬æ£å¨ä» HTML 表åä¸åå¼ï¼é常å¾å°ç齿¯å符串ã妿æä»¬æ³å¯¹å®ä»¬æ±åï¼è¯¥æä¹åï¼
äºå è¿ç®ç¬¦å å·ä¼æå®ä»¬åå¹¶æå符串ï¼
let apples = "2";
let oranges = "3";
alert( apples + oranges ); // "23"ï¼äºå
è¿ç®ç¬¦å å·åå¹¶å符串
妿æä»¬æ³æå®ä»¬å½åæ°åå¯¹å¾ ï¼æä»¬éè¦è½¬åå®ä»¬ï¼ç¶ååæ±åï¼
let apples = "2";
let oranges = "3";
// å¨äºå
è¿ç®ç¬¦å å·èµ·ä½ç¨ä¹åï¼ææçå¼é½è¢«è½¬åä¸ºäºæ°å
alert( +apples + +oranges ); // 5
// æ´é¿çåæ³
// alert( Number(apples) + Number(oranges) ); // 5
ä»ä¸ä¸ªæ°å¦å®¶çè§è§æ¥çï¼å¤§éçå å·å¯è½å¾å¥æªã使¯ä»ä¸ä¸ªç¨åºåçè§è§ï¼æ²¡ä»ä¹å¥½å¥æªçï¼ä¸å è¿ç®ç¬¦å å·é¦å èµ·ä½ç¨ï¼å®ä»¬å°å符串转为æ°åï¼ç¶åäºå è¿ç®ç¬¦å å·å¯¹å®ä»¬è¿è¡æ±åã
为ä»ä¹ä¸å è¿ç®ç¬¦å äºäºå è¿ç®ç¬¦ä½ç¨äºè¿ç®å ï¼æ¥ä¸å»æä»¬å°è®¨è®ºå°ï¼è¿æ¯ç±äºå®ä»¬æ¥æ æ´é«çä¼å 级ã
è¿ç®ç¬¦ä¼å 级
妿ä¸ä¸ªè¡¨è¾¾å¼æ¥æè¶ è¿ä¸ä¸ªè¿ç®ç¬¦ï¼æ§è¡ç顺åºåç± ä¼å 级 å³å®ãæ¢å¥è¯è¯´ï¼ææçè¿ç®ç¬¦ä¸é½éå«çä¼å 级顺åºã
ä»å°å¦å¼å§ï¼æä»¬å°±ç¥éå¨è¡¨è¾¾å¼ 1 + 2 * 2 ä¸ï¼ä¹æ³å
äºå æ³è®¡ç®ãè¿å°±æ¯ä¸ä¸ªä¼å
级é®é¢ã乿³æ¯å æ³æ¥æ æ´é«çä¼å
级ã
忬巿¥ææé«ä¼å
çº§ï¼æä»¥å¦ææä»¬å¯¹ç°æçè¿ç®é¡ºåºä¸æ»¡æï¼æä»¬å¯ä»¥ä½¿ç¨åæ¬å·æ¥ä¿®æ¹è¿ç®é¡ºåºï¼å°±åè¿æ ·ï¼(1 + 2) * 2ã
å¨ JavaScript 䏿ä¼å¤è¿ç®ç¬¦ãæ¯ä¸ªè¿ç®ç¬¦é½æå¯¹åºçä¼å 级æ°åãæ°åè¶å¤§ï¼è¶å æ§è¡ã妿ä¼å 级ç¸åï¼åæç §ç±å·¦è³å³çé¡ºåºæ§è¡ã
è¿æ¯ä¸ä¸ªææèª Mozilla ç ä¼å 级表ï¼ä½ 没æå¿ è¦æè¿å ¨è®°ä½ï¼ä½è¦è®°ä½ä¸å è¿ç®ç¬¦ä¼å 级é«äºäºå è¿ç®ç¬¦ï¼ï¼
| ä¼å 级 | åç§° | ç¬¦å· |
|---|---|---|
| ⦠| ⦠| ⦠|
| 15 | ä¸å å å· | + |
| 15 | ä¸å è´å· | - |
| 14 | æ±å¹ | ** |
| 13 | ä¹å· | * |
| 13 | é¤å· | / |
| 12 | å å· | + |
| 12 | åå· | - |
| ⦠| ⦠| ⦠|
| 2 | èµå¼ç¬¦ | = |
| ⦠| ⦠| ⦠|
æä»¬å¯ä»¥çå°ï¼âä¸å
å å·è¿ç®ç¬¦âçä¼å
çº§æ¯ 15ï¼é«äºâäºå
å å·è¿ç®ç¬¦âçä¼å
级 12ãè¿ä¹æ¯ä¸ºä»ä¹è¡¨è¾¾å¼ "+apples + +oranges" ä¸çä¸å
å å·å
çæï¼ç¶åææ¯äºå
å æ³ã
èµå¼è¿ç®ç¬¦
æä»¬ç¥éèµå¼ç¬¦å· = 乿¯ä¸ä¸ªè¿ç®ç¬¦ãä»ä¼å
级表ä¸å¯ä»¥çå°å®çä¼å
级é常ä½ï¼åªæ 2ã
è¿ä¹æ¯ä¸ºä»ä¹ï¼å½æä»¬èµå¼æ¶ï¼æ¯å¦ x = 2 * 2 + 1ï¼ææç计ç®å
æ§è¡ï¼ç¶å = ææ§è¡ï¼å°è®¡ç®ç»æåå¨å° xã
let x = 2 * 2 + 1;
alert( x ); // 5
èµå¼ = è¿åä¸ä¸ªå¼
= æ¯ä¸ä¸ªè¿ç®ç¬¦ï¼è䏿¯ä¸ä¸ªæçâéæ³âä½ç¨çè¯è¨ç»æã
å¨ JavaScript ä¸ï¼ææè¿ç®ç¬¦é½ä¼è¿åä¸ä¸ªå¼ãè¿å¯¹äº + å - æ¥è¯´æ¯æ¾èæè§çï¼ä½å¯¹äº = æ¥è¯´ä¹æ¯å¦æ¤ã
è¯å¥ x = value å°å¼ value åå
¥ x ç¶åè¿å valueã
ä¸é¢æ¯ä¸ä¸ªå¨å¤æè¯å¥ä¸ä½¿ç¨èµå¼çä¾åï¼
let a = 1;
let b = 2;
let c = 3 - (a = b + 1);
alert( a ); // 3
alert( c ); // 0
ä¸é¢è¿ä¸ªä¾åï¼(a = b + 1) çç»ææ¯èµç» a çå¼ï¼ä¹å°±æ¯ 3ï¼ãç¶å该å¼è¢«ç¨äºè¿ä¸æ¥çè¿ç®ã
æè¶£ç代ç ï¼ä¸æ¯åï¼æä»¬åºè¯¥äºè§£å®çå·¥ä½åçï¼å ä¸ºææ¶æä»¬ä¼å¨ JavaScript åºä¸çå°å®ã
ä¸è¿ï¼è¯·ä¸è¦åè¿æ ·ç代ç ãè¿æ ·çæå·§ç»å¯¹ä¸ä¼ä½¿ä»£ç å徿´æ¸ æ°æå¯è¯»ã
é¾å¼èµå¼ï¼Chaining assignmentsï¼
å¦ä¸ä¸ªæè¶£çç¹æ§æ¯é¾å¼èµå¼ï¼
let a, b, c;
a = b = c = 2 + 2;
alert( a ); // 4
alert( b ); // 4
alert( c ); // 4
é¾å¼èµå¼ä»å³å°å·¦è¿è¡è®¡ç®ãé¦å
ï¼å¯¹æå³è¾¹çè¡¨è¾¾å¼ 2 + 2 æ±å¼ï¼ç¶åå°å
¶èµç»å·¦è¾¹çåéï¼cãb å aãæåï¼ææçåéå
±äº«ä¸ä¸ªå¼ã
åæ ·ï¼åºäºå¯è¯»æ§ï¼æå¥½å°è¿ç§ä»£ç åæå è¡ï¼
c = 2 + 2;
b = c;
a = c;
è¿æ ·å¯è¯»æ§æ´å¼ºï¼å°¤å ¶æ¯å¨å¿«éæµè§ä»£ç çæ¶åã
åå°ä¿®æ¹
æä»¬ç»å¸¸éè¦å¯¹ä¸ä¸ªåéåè¿ç®ï¼å¹¶å°æ°çç»æåå¨å¨åä¸ä¸ªåéä¸ã
ä¾å¦ï¼
let n = 2;
n = n + 5;
n = n * 2;
å¯ä»¥ä½¿ç¨è¿ç®ç¬¦ += å *= æ¥ç¼©åè¿ç§è¡¨ç¤ºã
let n = 2;
n += 5; // ç°å¨ n = 7ï¼çåäº n = n + 5ï¼
n *= 2; // ç°å¨ n = 14ï¼çåäº n = n * 2ï¼
alert( n ); // 14
ææç®æ¯åä½è¿ç®ç¬¦é½æç®ççâä¿®æ¹å¹¶èµå¼âè¿ç®ç¬¦ï¼/= å -= çã
è¿ç±»è¿ç®ç¬¦çä¼å çº§ä¸æ®éèµå¼è¿ç®ç¬¦çä¼å 级ç¸åï¼æä»¥å®ä»¬å¨å¤§å¤æ°å ¶ä»è¿ç®ä¹åæ§è¡ï¼
let n = 2;
n *= 3 + 5;
alert( n ); // 16 ï¼å³è¾¹é¨åå
被计ç®ï¼çåäº n *= 8ï¼
èªå¢/èªå
对ä¸ä¸ªæ°è¿è¡å ä¸ãå䏿¯æå¸¸è§çæ°å¦è¿ç®ç¬¦ä¹ä¸ã
æä»¥ï¼å¯¹æ¤æä¸äºä¸é¨çè¿ç®ç¬¦ï¼
-
èªå¢
++å°åéä¸ 1 ç¸å ï¼let counter = 2; counter++; // å counter = counter + 1 ææä¸æ ·ï¼ä½æ¯æ´ç®æ´ alert( counter ); // 3 -
èªå
--å°åéä¸ 1 ç¸åï¼let counter = 2; counter--; // å counter = counter - 1 ææä¸æ ·ï¼ä½æ¯æ´ç®æ´ alert( counter ); // 1
èªå¢/èªååªè½åºç¨äºåéãè¯ä¸ä¸ï¼å°å
¶åºç¨äºæ°å¼ï¼æ¯å¦ 5++ï¼å伿¥éã
è¿ç®ç¬¦ ++ å -- å¯ä»¥ç½®äºåéåï¼ä¹å¯ä»¥ç½®äºåéåã
- å½è¿ç®ç¬¦ç½®äºåéåï¼è¢«ç§°ä¸ºâå置形å¼âï¼
counter++ã - å½è¿ç®ç¬¦ç½®äºåéåï¼è¢«ç§°ä¸ºâå置形å¼âï¼
++counterã
两è
é½ååä¸ä»¶äºï¼å°åé counter ä¸ 1 ç¸å ã
é£ä¹å®ä»¬æåºå«åï¼æï¼ä½åªæå½æä»¬ä½¿ç¨ ++/-- çè¿å弿¶æè½çå°åºå«ã
详ç»ç¹è¯´ãæä»¬ç¥éï¼ææçè¿ç®ç¬¦é½æè¿åå¼ãèªå¢/èªåä¹ä¸ä¾å¤ãå置形å¼è¿åä¸ä¸ªæ°çå¼ï¼ä½åç½®è¿å忥çå¼ï¼åå æ³/åæ³ä¹åçå¼ï¼ã
为äºç´è§çå°åºå«ï¼çä¸é¢çä¾åï¼
let counter = 1;
let a = ++counter; // (*)
alert(a); // 2
(*) æå¨çè¡æ¯åç½®å½¢å¼ ++counterï¼å¯¹ counter åèªå¢è¿ç®ï¼è¿åçæ¯æ°çå¼ 2ãå æ¤ alert æ¾ç¤ºçæ¯ 2ã
ä¸é¢è®©æä»¬ççå置形å¼ï¼
let counter = 1;
let a = counter++; // (*) å° ++counter æ¹ä¸º counter++
alert(a); // 1
(*) æå¨çè¡æ¯åç½®å½¢å¼ counter++ï¼å®åæ ·å¯¹ counter åå æ³ï¼ä½æ¯è¿åçæ¯ æ§å¼ï¼åå æ³ä¹åçå¼ï¼ãå æ¤ alert æ¾ç¤ºçæ¯ 1ã
æ»ç»ï¼
-
妿èªå¢/èªåçå¼ä¸ä¼è¢«ä½¿ç¨ï¼é£ä¹ä¸¤è 形弿²¡æåºå«ï¼
let counter = 0; counter++; ++counter; alert( counter ); // 2ï¼ä»¥ä¸ä¸¤è¡ä½ç¨ç¸å -
妿æä»¬æ³è¦å¯¹åéè¿è¡èªå¢æä½ï¼å¹¶ä¸ éè¦ç«å»ä½¿ç¨èªå¢åçå¼ï¼é£ä¹æä»¬éè¦ä½¿ç¨å置形å¼ï¼
let counter = 0; alert( ++counter ); // 1 -
妿æä»¬æ³è¦å°ä¸ä¸ªæ°å ä¸ï¼ä½æ¯æä»¬æ³ä½¿ç¨å ¶èªå¢ä¹åçå¼ï¼é£ä¹æä»¬éè¦ä½¿ç¨å置形å¼ï¼
let counter = 0; alert( counter++ ); // 0
++/-- è¿ç®ç¬¦åæ ·å¯ä»¥å¨è¡¨è¾¾å¼å
é¨ä½¿ç¨ãå®ä»¬çä¼å
级æ¯ç»å¤§é¨åçç®æ°è¿ç®ç¬¦è¦é«ã
举个ä¾åï¼
let counter = 1;
alert( 2 * ++counter ); // 4
ä¸ä¸æ¹ä¾å对æ¯ï¼
let counter = 1;
alert( 2 * counter++ ); // 2ï¼å 为 counter++ è¿åçæ¯âæ§å¼â
å°½ç®¡ä»ææ¯å±é¢ä¸æ¥è¯´å¯è¡ï¼ä½æ¯è¿æ ·çåæ³ä¼éä½ä»£ç çå¯é 读æ§ãå¨ä¸è¡ä¸åå¤ä¸ªæä½ ââ è¿æ ·å¹¶ä¸å¥½ã
å½é
è¯»ä»£ç æ¶ï¼å¿«éçè§è§â纵åâæ«æä¼å¾å®¹ææ¼æ counter++ï¼è¿æ ·çèªå¢æä½å¹¶ä¸ææ¾ã
æä»¬å»ºè®®ç¨âä¸è¡ä¸ä¸ªè¡ä¸ºâçæ¨¡å¼ï¼
let counter = 1;
alert( 2 * counter );
counter++;
ä½è¿ç®ç¬¦
ä½è¿ç®ç¬¦æè¿ç®å å½å 32 使´æ°ï¼å¹¶å¨å®ä»¬çäºè¿å¶è¡¨ç°å½¢å¼ä¸æä½ã
è¿äºè¿ç®ç¬¦ä¸æ¯ JavaScript ç¹æçã大é¨åçç¼ç¨è¯è¨é½æ¯æè¿äºè¿ç®ç¬¦ã
ä¸é¢æ¯ä½è¿ç®ç¬¦ï¼
- æä½ä¸ (
&) - æä½æ (
|) - æä½å¼æ (
^) - æä½é (
~) - 左移 (
<<) - å³ç§» (
>>) - æ 符å·å³ç§» (
>>>)
è¿äºè¿ç®ç¬¦å¾å°è¢«ä½¿ç¨ï¼ä¸è¬æ¯æä»¬éè¦å¨æä½çº§å«ï¼ä½ï¼ä¸æä½æ°åæ¶æä½¿ç¨ãæä»¬ä¸ä¼å¾å¿«ç¨å°è¿äºè¿ç®ç¬¦ï¼å ä¸ºå¨ Web å¼åä¸å¾å°ä½¿ç¨å®ä»¬ï¼ä½å¨æäºç¹æ®é¢åä¸ï¼ä¾å¦å¯ç å¦ï¼å®ä»¬å¾æç¨ãå½ä½ éè¦äºè§£å®ä»¬çæ¶åï¼å¯ä»¥é 读 MDN ä¸ç 使ä½ç¬¦ ç« èã
éå·è¿ç®ç¬¦
éå·è¿ç®ç¬¦ , æ¯æå°è§æä¸å¸¸ä½¿ç¨çè¿ç®ç¬¦ä¹ä¸ãææ¶åå®ä¼è¢«ç¨æ¥åæ´ç®çç代ç ï¼å æ¤ä¸ºäºè½å¤ç解代ç ï¼æä»¬éè¦äºè§£å®ã
éå·è¿ç®ç¬¦è½è®©æä»¬å¤çå¤ä¸ªè¡¨è¾¾å¼ï¼ä½¿ç¨ , å°å®ä»¬åå¼ãæ¯ä¸ªè¡¨è¾¾å¼é½è¿è¡äºï¼ä½æ¯åªææåä¸ä¸ªçç»æä¼è¢«è¿åã
举个ä¾åï¼
let a = (1 + 2, 3 + 4);
alert( a ); // 7ï¼3 + 4 çç»æï¼
è¿éï¼ç¬¬ä¸ä¸ªè¡¨è¾¾å¼ 1 + 2 è¿è¡äºï¼ä½æ¯å®çç»æè¢«ä¸¢å¼äºãéåè®¡ç® 3 + 4ï¼å¹¶ä¸è¯¥è®¡ç®ç»æè¢«è¿åã
请注æéå·è¿ç®ç¬¦çä¼å
级é常ä½ï¼æ¯ = è¿è¦ä½ï¼å æ¤ä¸é¢ä½ çä¾åä¸åæ¬å·é常éè¦ã
å¦ææ²¡æåæ¬å·ï¼a = 1 + 2, 3 + 4 ä¼å
æ§è¡ +ï¼å°æ°å¼ç¸å å¾å° a = 3, 7ï¼ç¶åèµå¼è¿ç®ç¬¦ = æ§è¡ a = 3ï¼ç¶åéå·ä¹åçæ°å¼ 7 ä¸ä¼åæ§è¡ï¼å®è¢«å¿½ç¥æäºãç¸å½äº (a = 1 + 2), 3 + 4ã
为ä»ä¹æä»¬éè¦è¿æ ·ä¸ä¸ªè¿ç®ç¬¦ï¼å®åªè¿åæåä¸ä¸ªå¼å¢ï¼
ææ¶åï¼äººä»¬ä¼ä½¿ç¨å®æå 个è¡ä¸ºæ¾å¨ä¸è¡ä¸æ¥è¿è¡å¤æçè¿ç®ã
举个ä¾åï¼
// ä¸è¡ä¸æä¸ä¸ªè¿ç®ç¬¦
for (a = 1, b = 3, c = a * b; a < 10; a++) {
...
}
è¿æ ·çæå·§å¨è®¸å¤ JavaScript æ¡æ¶ä¸é½æä½¿ç¨ï¼è¿ä¹æ¯ä¸ºä»ä¹æä»¬æå°å®ã使¯é常å®å¹¶ä¸è½æå代ç çå¯è¯»æ§ï¼ä½¿ç¨å®ä¹åï¼æä»¬è¦æ³æ¸ æ¥ã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼