大夿°æ åµä¸ï¼JavaScript åºç¨éè¦å¤çä¿¡æ¯ãè¿æä¸¤ä¸ªä¾åï¼
- ä¸ä¸ªç½ä¸ååº ââ è¿éçä¿¡æ¯å¯è½å 嫿£å¨å®åçåååè´ç©è½¦ã
- ä¸ä¸ªè天åºç¨ ââ è¿éçä¿¡æ¯å¯è½å æ¬ç¨æ·åæ¶æ¯ççã
åéå°±æ¯ç¨æ¥å¨åè¿äºä¿¡æ¯çã
åé
åé æ¯æ°æ®çâå½ååå¨âãæä»¬å¯ä»¥ä½¿ç¨å鿥ä¿åååã访客åå ¶ä»ä¿¡æ¯ã
å¨ JavaScript ä¸å建ä¸ä¸ªåéï¼æä»¬éè¦ç¨å° let å
³é®åã
ä¸é¢çè¯å¥å建ï¼ä¹å¯ä»¥ç§°ä¸º å£°æ æè å®ä¹ï¼äºä¸ä¸ªå称为 âmessageâ çåéï¼
let message;
ç°å¨ï¼æä»¬å¯ä»¥éè¿èµå¼è¿ç®ç¬¦ = 为åéæ·»å ä¸äºæ°æ®ï¼
let message;
message = 'Hello'; // å°å符串 'Hello' ä¿åå¨å为 message çåéä¸
ç°å¨è¿ä¸ªå符串已ç»ä¿åå°ä¸è¯¥åéç¸å ³èçå ååºåäºï¼æä»¬å¯ä»¥éè¿ä½¿ç¨è¯¥åéå称访é®å®ï¼
let message;
message = 'Hello!';
alert(message); // æ¾ç¤ºåéå
容
ç®æ´ä¸ç¹ï¼æä»¬å¯ä»¥å°åéå®ä¹åèµå¼åå¹¶æä¸è¡ï¼
let message = 'Hello!'; // å®ä¹åéï¼å¹¶ä¸èµå¼
alert(message); // Hello!
ä¹å¯ä»¥å¨ä¸è¡ä¸å£°æå¤ä¸ªåéï¼
let user = 'John', age = 25, message = 'Hello';
çä¸å»ä»£ç é¿åº¦æ´çï¼ä½å¹¶ä¸æ¨èè¿æ ·ãä¸ºäºæ´å¥½çå¯è¯»æ§ï¼è¯·ä¸è¡åªå£°æä¸ä¸ªåéã
å¤è¡åé声ææç¹é¿ï¼ä½æ´å®¹æé 读ï¼
let user = 'John';
let age = 25;
let message = 'Hello';
ä¸äºç¨åºåéç¨ä¸é¢çå½¢å¼ä¹¦åå¤ä¸ªåéï¼
let user = 'John',
age = 25,
message = 'Hello';
â¦â¦çè³ä½¿ç¨âéå·å¨åâçå½¢å¼ï¼
let user = 'John'
, age = 25
, message = 'Hello';
ææ¯ä¸è®²ï¼è¿äºåä½é½æä¸æ ·çææãæä»¥ï¼è¿æ¯ä¸ªä¸ªäººåå³åå®¡ç¾æ¹é¢çé®é¢ã
var è䏿¯ letå¨è¾èçèæ¬ä¸ï¼ä½ ä¹å¯è½åç°å¦ä¸ä¸ªå
³é®å varï¼è䏿¯ letï¼
var message = 'Hello';
var å
³é®åä¸ let å¤§ä½ ç¸åï¼ä¹ç¨æ¥å£°æåéï¼ä½ç¨å¾®æäºä¸åï¼ä¹æç¹âèæ´¾âã
let å var ä¹é´æäºå¾®å¦çå·®å«ï¼ä½ç®åå¯¹äºæä»¬æ¥è¯´å¹¶ä¸éè¦ãæä»¬å°ä¼å¨ èæ§ç "var" ç« èä¸ä»ç»å®ä»¬ã
ä¸ä¸ªç°å®çæ´»çç±»æ¯
妿å°åéæ³è±¡æä¸ä¸ªâæ°æ®âççåï¼çå䏿ä¸ä¸ªå¯ä¸çæ æ³¨çåååç贴纸ãè¿æ ·æä»¬è½æ´è½»æ¾å°ææ¡âåéâçæ¦å¿µã
ä¾å¦ï¼åé message å¯ä»¥è¢«æ³è±¡æä¸ä¸ªæ æ "message" ççåï¼çåéé¢çå¼ä¸º "Hello!"ï¼
æä»¬å¯ä»¥å¨çåå æ¾å ¥ä»»ä½å¼ã
å¹¶ä¸ï¼è¿ä¸ªçåçå¼ï¼æä»¬æ³æ¹åå¤å°æ¬¡ï¼å°±å¯ä»¥æ¹åå¤å°æ¬¡ï¼
let message;
message = 'Hello!';
message = 'World!'; // 弿¹åäº
alert(message);
å½å¼æ¹åçæ¶åï¼ä¹åçæ°æ®å°±è¢«ä»åéä¸å é¤äºï¼
æä»¬è¿å¯ä»¥å£°æä¸¤ä¸ªåéï¼ç¶åå°å ¶ä¸ä¸ä¸ªåéçæ°æ®æ·è´å°å¦ä¸ä¸ªåéã
let hello = 'Hello world!';
let message;
// å°å符串 'Hello world' ä»åé hello æ·è´å° message
message = hello;
// ç°å¨ä¸¤ä¸ªåéä¿åçç¸åçæ°æ®
alert(hello); // Hello world!
alert(message); // Hello world!
ä¸ä¸ªåéåºè¯¥åªè¢«å£°æä¸æ¬¡ã
对åä¸ä¸ªåéè¿è¡éå¤å£°æä¼è§¦å errorï¼
let message = "This";
// éå¤ 'let' ä¼å¯¼è´ error
let message = "That"; // SyntaxError: 'message' has already been declared
å æ¤ï¼æä»¬å¯¹åä¸ä¸ªåéåºè¯¥åªå£°æä¸æ¬¡ï¼ä¹åå¨ä¸ä½¿ç¨ let çæ
åµä¸å¯¹å
¶è¿è¡å¼ç¨ã
æè¶£çæ¯ï¼ä¹åå¨ç¦æ¢æ´æ¹åéå¼ç 彿°å¼ ç¼ç¨è¯è¨ãæ¯å¦ Scala æ Erlangã
å¨è¿ç§ç±»åçè¯è¨ä¸ï¼ä¸æ¦å¼ä¿åå¨çåä¸ï¼å°±æ°¸è¿åå¨ãå¦æä½ è¯å¾ä¿åå ¶ä»å¼ï¼å®ä¼å¼ºå¶å建ä¸ä¸ªæ°çåï¼å£°æä¸ä¸ªæ°åéï¼ï¼æ æ³éç¨ä¹åçåéã
è½ç¶ç¬¬ä¸æ¬¡çä¸å»æç¹å¥æªï¼ä½æ¯è¿äºè¯è¨æå¾å¤§çå屿½åãä¸ä» 妿¤ï¼å¨æäºé¢åï¼æ¯å¦å¹¶è¡è®¡ç®ï¼è¿ä¸ªéå¶æä¸å®ç好å¤ãç ç©¶è¿æ ·çä¸é¨è¯è¨ï¼å³ä½¿ä¸æç®å¾å¿«å°±ç¨ä¸å®ï¼æå©äºå¼éè§éã
åéå½å
JavaScript çåéå½åæä¸¤ä¸ªéå¶ï¼
- åéåç§°å¿
é¡»ä»
å
å«åæ¯ãæ°åã符å·
$å_ã - é¦åç¬¦å¿ é¡»éæ°åã
ææçå½åï¼ä¾å¦ï¼
let userName;
let test123;
妿å½åå
æ¬å¤ä¸ªåè¯ï¼é常éç¨é©¼å³°å¼å½åæ³ï¼camelCaseï¼ãä¹å°±æ¯ï¼åè¯ä¸ä¸ªæ¥ä¸ä¸ªï¼é¤äºç¬¬ä¸ä¸ªåè¯ï¼å
¶ä»çæ¯ä¸ªåè¯é½ä»¥å¤§å忝å¼å¤´ï¼myVeryLongNameã
æè¶£çæ¯ï¼ç¾å
ç¬¦å· '$' åä¸å线 '_' ä¹å¯ä»¥ç¨äºåéå½åãå®ä»¬æ¯æ£å¸¸ç符å·ï¼å°±è·åæ¯ä¸æ ·ï¼æ²¡æä»»ä½ç¹æ®çå«ä¹ã
ä¸é¢çå½åæ¯ææçï¼
let $ = 1; // ä½¿ç¨ "$" 声æä¸ä¸ªåé
let _ = 2; // ç°å¨ç¨ "_" 声æä¸ä¸ªåé
alert($ + _); // 3
ä¸é¢çåéå½å䏿£ç¡®ï¼
let 1a; // ä¸è½ä»¥æ°åå¼å§
let my-name; // è¿å符 '-' ä¸å
许ç¨äºåéå½å
å½å为 apple å APPLE çå鿝ä¸åç两个åéã
å¯ä»¥ä½¿ç¨ä»»ä½è¯è¨ï¼å æ¬è¥¿éå°åæ¯ï¼cyrillic lettersï¼çè³æ¯è±¡å½¢æåï¼å°±åè¿æ ·ï¼
let Ð¸Ð¼Ñ = '...';
let æ = '...';
仿æ¯ä¸è®²ï¼è¿æ ·æ²¡é®é¢ãè¿æ ·çå½åæ¯å®å ¨å 许çï¼ä½æ¯ç¨è±æè¿è¡åéå½åæ¯å½é æ¯ä¾ãåªææä»¬æ£å¨åä¸ä¸ªå¾å°çèæ¬ï¼å®ä¹æå¯è½ä¼è¢«ä½¿ç¨å¾ä¹ ãæä¸ªæ¶åï¼æ¥èªå ¶ä»å½å®¶ç人å¯è½ä¼éè¦é 读å®ã
æä¸å¼ ä¿çåå表ï¼è¿å¼ 表ä¸çä¿çåæ æ³ç¨ä½åéå½åï¼å 为å®ä»¬è¢«ç¨äºç¼ç¨è¯è¨æ¬èº«äºã
æ¯å¦ï¼letãclassãreturnãfunction é½è¢«ä¿çäºã
ä¸é¢ç代ç å°ä¼æåºä¸ä¸ªè¯æ³é误ï¼
let let = 5; // ä¸è½ç¨ "let" æ¥å½åä¸ä¸ªåéï¼é误ï¼
let return = 5; // åæ ·ï¼ä¸è½ä½¿ç¨ "return"ï¼é误ï¼
use strict ä¸çèµå¼ä¸è¬ï¼æä»¬éè¦å¨ä½¿ç¨ä¸ä¸ªåéåå®ä¹å®ã使¯å¨æ©æï¼æä»¬å¯ä»¥ä¸ä½¿ç¨ let è¿è¡åé声æï¼èå¯ä»¥ç®åå°éè¿èµå¼æ¥å建ä¸ä¸ªåéãç°å¨å¦ææä»¬ä¸å¨èæ¬ä¸ä½¿ç¨ use strict 声æå¯ç¨ä¸¥æ ¼æ¨¡å¼ï¼è¿ä»ç¶å¯ä»¥æ£å¸¸å·¥ä½ï¼è¿æ¯ä¸ºäºä¿æå¯¹æ§èæ¬çå
¼å®¹ã
// 注æï¼è¿ä¸ªä¾å䏿²¡æ "use strict"
num = 5; // 妿åé "num" ä¸åå¨ï¼å°±ä¼è¢«å建
alert(num); // 5
ä¸é¢è¿æ¯ä¸ªç³ç³çåæ³ï¼ä¸¥æ ¼æ¨¡å¼ä¸ä¼æ¥éã
"use strict";
num = 5; // é误ï¼num æªå®ä¹
常é
声æä¸ä¸ªå¸¸æ°ï¼ä¸åï¼åéï¼å¯ä»¥ä½¿ç¨ const èé letï¼
const myBirthday = '18.04.1982';
ä½¿ç¨ const 声æçåé称为â常éâãå®ä»¬ä¸è½è¢«ä¿®æ¹ï¼å¦æä½ å°è¯ä¿®æ¹å°±ä¼åç°æ¥éï¼
const myBirthday = '18.04.1982';
myBirthday = '01.01.2001'; // é误ï¼ä¸è½å¯¹å¸¸ééæ°èµå¼
å½ç¨åºåè½ç¡®å®è¿ä¸ªåéæ°¸è¿ä¸ä¼æ¹åçæ¶åï¼å°±å¯ä»¥ä½¿ç¨ const æ¥ç¡®ä¿è¿ç§è¡ä¸ºï¼å¹¶ä¸æ¸
æ¥å°åå«äººä¼ éè¿ä¸äºå®ã
大åå½¢å¼ç常æ°
ä¸ä¸ªæ®éçåæ³æ¯å°å¸¸éç¨ä½å«åï¼ä»¥ä¾¿è®°ä½é£äºå¨æ§è¡ä¹å就已ç¥çé¾ä»¥è®°ä½çå¼ã
使ç¨å¤§å忝åä¸å线æ¥å½åè¿äºå¸¸éã
ä¾å¦ï¼è®©æä»¬ä»¥æè°çâwebâï¼åå è¿å¶ï¼æ ¼å¼ä¸ºé¢è²å£°æå¸¸éï¼
const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";
// â¦â¦å½æä»¬éè¦éæ©ä¸ä¸ªé¢è²
let color = COLOR_ORANGE;
alert(color); // #FF7F00
好å¤ï¼
COLOR_ORANGEæ¯"#FF7F00"æ´å®¹æè®°å¿ã- æ¯èµ·
COLOR_ORANGEèè¨ï¼"#FF7F00"æ´å®¹æè¾éã - é
è¯»ä»£ç æ¶ï¼
COLOR_ORANGEæ¯#FF7F00æ´ææã
ä»ä¹æ¶å该为常é使ç¨å¤§åå½åï¼ä»ä¹æ¶åè¿è¡å¸¸è§å½åï¼è®©æä»¬å¼æ¸ æ¥ä¸ç¹ã
ä½ä¸ºä¸ä¸ªâ常æ°âï¼æå³ç弿°¸è¿ä¸åã使¯æäºå¸¸é卿§è¡ä¹å就已ç¥äºï¼æ¯å¦çº¢è²çåå è¿å¶å¼ï¼ï¼è¿æäºå¨æ§è¡æé´è¢«â计ç®âåºæ¥ï¼ä½åå§èµå¼ä¹åå°±ä¸ä¼æ¹åã
ä¾å¦ï¼
const pageLoadTime = /* ç½é¡µå è½½æéçæ¶é´ */;
pageLoadTime çå¼å¨é¡µé¢å è½½ä¹åæ¯æªç¥çï¼æä»¥éç¨å¸¸è§å½åã使¯å®ä»ç¶æ¯ä¸ªå¸¸éï¼å 为èµå¼ä¹åä¸ä¼æ¹åã
æ¢å¥è¯è¯´ï¼å¤§åå½åç常éä» ç¨ä½â硬ç¼ç ï¼hard-codedï¼âå¼çå«åã
æ£ç¡®å½ååé
è°å°åéï¼è¿æä¸ä»¶é常éè¦çäºã
ä¸ä¸ªåéååºè¯¥æä¸ä¸ªæ¸ æ°ãææ¾çå«ä¹ï¼å¯¹å ¶åå¨çæ°æ®è¿è¡æè¿°ã
åéå½åæ¯ç¼ç¨è¿ç¨ä¸æéè¦ä¸æå¤æçæè½ä¹ä¸ãå¿«éå°æµè§åéçå½åå°±ç¥éä»£ç æ¯ä¸ä¸ªåå¦è è¿æ¯æç»éªçå¼åè åçã
å¨ä¸ä¸ªå®é 项ç®ä¸ï¼å¤§å¤æ°çæ¶é´é½è¢«ç¨æ¥ä¿®æ¹åæ©å±ç°æç代ç åºï¼è䏿¯ä»å¤´å¼å§åä¸äºå®å ¨ç¬ç«ç代ç ãå½ä¸æ®µæ¶é´åï¼æä»¬åå®å ¶ä»äºæ ï¼éæ°å尿们ç代ç ï¼æ¾å°å½åè¯å¥½çä¿¡æ¯è¦å®¹æå¾å¤ãæ¢å¥è¯è¯´ï¼åéè¦æä¸ªå¥½ååã
声æåéä¹åï¼å¤è±ç¹æ¶é´æèå®çæ´å¥½çå½åãä½ ä¼åçè¯å¤ã
ä¸äºå¯ä»¥éµå¾ªçè§åï¼
- ä½¿ç¨æè¯»çå½åï¼æ¯å¦
userNameæèshoppingCartã - 离诸å¦
aãbãcè¿ç§ç¼©ååçåç§°è¿ä¸ç¹ï¼é¤éä½ ççç¥éä½ å¨å¹²ä»ä¹ã - åéåå¨è½å¤åç¡®æè¿°åéçåæ¶è¦è¶³å¤ç®æ´ãä¸å¥½çä¾åå°±æ¯
dataåvalueï¼è¿æ ·çåç§°çäºä»ä¹é½æ²¡è¯´ã妿è½å¤éå¸¸ææ¾å°ä»ä¸ä¸æç¥éæ°æ®åå¼æè¡¨è¾¾çå«ä¹ï¼è¿æ ·ä½¿ç¨å®ä»¬ä¹æ¯å¯ä»¥çã - èæµ·ä¸çæ¯è¯è¦åå¢éä¿æä¸è´ã妿ç½ç«ç访客称为âç¨æ·âï¼åæä»¬éç¨ç¸å
³çåéå½åï¼æ¯å¦
currentUseræènewUserï¼èä¸è¦ä½¿ç¨currentVisitoræè ä¸ä¸ªnewManInTownã
å¬ä¸å»å¾ç®åï¼ç¡®å®å¦æ¤ï¼ä½æ¯å¨å®è·µä¸éæ©ä¸ä¸ªä¸ç®äºç¶çåéåç§°å¹¶é妿¤ç®åã大èè¯è¯å§ã
æåä¸ç¹ï¼æä¸äºææ°çç¨åºåï¼å¾åäºéç¨ç°æçåéï¼è䏿¯å£°æä¸ä¸ªæ°çåéã
ç»ææ¯ï¼è¿ä¸ªåéå°±åæ¯è¢«æè¿ä¸åä¸è¥¿çåï¼ä½æ²¡ææ¹åå®ç贴纸ãç°å¨é颿¯ä»ä¹ï¼è°ç¥éå¢ãæä»¬éè¦é è¿ä¸ç¹ï¼ä»ç»æ£æ¥æè½ç¥éã
è¿æ ·çç¨åºåèçäºä¸ç¹åé声æçæ¶é´ï¼ä½å´å¨è°è¯ä»£ç çæ¶åæå¤±æ°ååæ¶é´ã
é¢å¤å£°æä¸ä¸ªåéç»å¯¹æ¯å©å¤§äºå¼çã
ç°ä»£ç JavaScript å缩å¨åæµè§å¨é½è½å¤å¾å¥½å°å¯¹ä»£ç è¿è¡ä¼åï¼æä»¥ä¸ä¼äº§çæ§è½é®é¢ã为ä¸åçå¼ä½¿ç¨ä¸åçåéå¯ä»¥å¸®å©å¼æå¯¹ä»£ç è¿è¡ä¼åã
æ»ç»
æä»¬å¯ä»¥ä½¿ç¨ varãlet æ const 声æå鿥å卿°æ®ã
letâ ç°ä»£çåéå£°ææ¹å¼ãvarâ èæ§çåéå£°ææ¹å¼ãä¸è¬æ åµä¸ï¼æä»¬ä¸ä¼å使ç¨å®ã使¯ï¼æä»¬ä¼å¨ èæ§ç "var" ç« èä»ç»varåletçå¾®å¦å·®å«ï¼ä»¥é²ä½ éè¦å®ä»¬ãconstâ 类似äºletï¼ä½æ¯åéç弿 æ³è¢«ä¿®æ¹ã
åéåºå½ä»¥ä¸ç§å®¹æçè§£åéå 鍿¯ä»ä¹çæ¹å¼è¿è¡å½åã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼