JavaScript å 许æä»¬å使ç¨å¯¹è±¡ä¸æ ·ä½¿ç¨åå§ç±»åï¼åç¬¦ä¸²ï¼æ°åçï¼ãJavaScript è¿æä¾äºè¿æ ·çè°ç¨æ¹æ³ãæä»¬å¾å¿«å°±ä¼å¦ä¹ å®ä»¬ï¼ä½æ¯é¦å æä»¬å°äºè§£å®çå·¥ä½åçï¼æ¯ç«åå§ç±»å䏿¯å¯¹è±¡ï¼å¨è¿éæä»¬ä¼åæå°æ´å æ¸ æ¥ï¼ã
æä»¬æ¥ççåå§ç±»åå对象ä¹é´çå ³é®åºå«ã
ä¸ä¸ªåå§å¼ï¼
- æ¯åå§ç±»åä¸çä¸ç§å¼ã
- å¨ JavaScript 䏿 7 ç§åå§ç±»åï¼
stringï¼numberï¼bigintï¼booleanï¼symbolï¼nullåundefinedã
ä¸ä¸ªå¯¹è±¡ï¼
- è½å¤åå¨å¤ä¸ªå¼ä½ä¸ºå±æ§ã
- å¯ä»¥ä½¿ç¨å¤§æ¬å·
{}å建对象ï¼ä¾å¦ï¼{name: "John", age: 30}ãJavaScript ä¸è¿æå ¶ä»ç§ç±»ç对象ï¼ä¾å¦å½æ°å°±æ¯å¯¹è±¡ã
å ³äºå¯¹è±¡çæå¥½çäºå¿ä¹ä¸æ¯ï¼æä»¬å¯ä»¥æä¸ä¸ªå½æ°ä½ä¸ºå¯¹è±¡ç屿§åå¨å°å¯¹è±¡ä¸ã
let john = {
name: "John",
sayHi: function() {
alert("Hi buddy!");
}
};
john.sayHi(); // Hi buddy!
æä»¥æä»¬å¨è¿éå建äºä¸ä¸ªå
å« sayHi æ¹æ³ç对象 johnã
许å¤å 建对象已ç»åå¨ï¼ä¾å¦é£äºå¤çæ¥æãé误ãHTML å ç´ ççå 建对象ãå®ä»¬å ·æä¸åç屿§åæ¹æ³ã
使¯ï¼è¿äºç¹æ§ï¼featureï¼é½æ¯æææ¬çï¼
对象æ¯åå§ç±»åâæ´éâãå®ä»¬éè¦é¢å¤çèµæºæ¥æ¯æè¿ä½ã
å½ä½å¯¹è±¡çåå§ç±»å
以䏿¯ JavaScript å建è é¢ä¸´çæè®ºï¼
- 人们å¯è½æ³å¯¹è¯¸å¦åç¬¦ä¸²ææ°åä¹ç±»çåå§ç±»åæ§è¡å¾å¤æä½ãæå¥½ä½¿ç¨æ¹æ³æ¥è®¿é®å®ä»¬ã
- åå§ç±»åå¿ é¡»å°½å¯è½çç®åè½»éã
èè§£å³æ¹æ¡çèµ·æ¥å¤å°æç¹å°´å°¬ï¼å¦ä¸ï¼
- åå§ç±»åä»ç¶æ¯åå§çãä¸é¢æç¸åï¼æä¾å个å¼
- JavaScript å 许访é®åç¬¦ä¸²ï¼æ°åï¼å¸å°å¼å symbol çæ¹æ³å屿§ã
- 为äºä½¿å®ä»¬èµ·ä½ç¨ï¼åå»ºäºæä¾é¢å¤åè½çç¹æ®â对象å è£ å¨âï¼ä½¿ç¨åå³è¢«éæ¯ã
â对象å
è£
å¨âå¯¹äºæ¯ç§åå§ç±»å齿¯ä¸åçï¼å®ä»¬è¢«ç§°ä¸º StringãNumberãBooleanãSymbol å BigIntãå æ¤ï¼å®ä»¬æä¾äºä¸åçæ¹æ³ã
ä¾å¦ï¼åç¬¦ä¸²æ¹æ³ str.toUpperCase() è¿åä¸ä¸ªå¤§ååå¤ççå符串ã
ç¨æ³æ¼ç¤ºå¦ä¸ï¼
let str = "Hello";
alert( str.toUpperCase() ); // HELLO
å¾ç®åï¼å¯¹å§ï¼ä»¥ä¸æ¯ str.toUpperCase() ä¸å®é
åççæ
åµï¼
- å符串
stræ¯ä¸ä¸ªåå§å¼ãå æ¤ï¼å¨è®¿é®å ¶å±æ§æ¶ï¼ä¼å建ä¸ä¸ªå å«å符串åé¢å¼çç¹æ®å¯¹è±¡ï¼å¹¶ä¸å ·æå¯ç¨çæ¹æ³ï¼ä¾å¦toUpperCase()ã - è¯¥æ¹æ³è¿è¡å¹¶è¿åä¸ä¸ªæ°çå符串ï¼ç±
alertæ¾ç¤ºï¼ã - ç¹æ®å¯¹è±¡è¢«éæ¯ï¼åªçä¸åå§å¼
strã
æä»¥åå§ç±»åå¯ä»¥æä¾æ¹æ³ï¼ä½å®ä»¬ä¾ç¶æ¯è½»é级çã
JavaScript 弿é«åº¦ä¼åäºè¿ä¸ªè¿ç¨ãå®çè³å¯è½è·³è¿å建é¢å¤ç对象ã使¯å®ä»ç¶å¿ é¡»éµå®è§èï¼å¹¶ä¸è¡¨ç°å¾å¥½åå®å建äºä¸æ ·ã
æ°åæå ¶èªå·±çæ¹æ³ï¼ä¾å¦ï¼toFixed(n) å°æ°åèå ¥å°ç»å®ç精度ï¼
let n = 1.23456;
alert( n.toFixed(2) ); // 1.23
æä»¬å°å¨åé¢ æ°åç±»å å å符串 ç« èä¸çå°æ´å¤å ·ä½çæ¹æ³ã
String/Number/Boolean ä»
ä¾å
é¨ä½¿ç¨å Java è¿æ ·çä¸äºè¯è¨å
许æä»¬ä½¿ç¨ new Number(1) æ new Boolean(false) çè¯æ³ï¼æç¡®å°ä¸ºåå§ç±»åå建â对象å
è£
å¨âã
å¨ JavaScript ä¸ï¼ç±äºåå²åå ï¼è¿ä¹æ¯å¯ä»¥çï¼ä½æå ¶ 䏿¨èãå ä¸ºè¿æ ·ä¼åºé®é¢ã
ä¾å¦ï¼
alert( typeof 0 ); // "number"
alert( typeof new Number(0) ); // "object"!
å¯¹è±¡å¨ if ä¸å§ç»ä¸ºçï¼æä»¥æ¤å¤ç alert å°æ¾ç¤ºï¼
let zero = new Number(0);
if (zero) { // zero 为 trueï¼å ä¸ºå®æ¯ä¸ä¸ªå¯¹è±¡
alert( "zero is truthy?!?" );
}
å¦ä¸æ¹é¢ï¼è°ç¨ä¸å¸¦ newï¼å
³é®åï¼ç String/Number/Boolean 彿°æ¯å¯ä»¥ç䏿æçãå®ä»¬å°ä¸ä¸ªå¼è½¬æ¢ä¸ºç¸åºçç±»åï¼è½¬æåç¬¦ä¸²ãæ°åæå¸å°å¼ï¼åå§ç±»åï¼ã
ä¾å¦ï¼ä¸é¢å®å ¨æ¯ææçï¼
let num = Number("123"); // å°åç¬¦ä¸²è½¬ææ°å
ç¹æ®çåå§ç±»å null å undefined æ¯ä¾å¤ãå®ä»¬æ²¡æå¯¹åºçâ对象å
è£
å¨âï¼ä¹æ²¡ææä¾ä»»ä½æ¹æ³ãä»æç§æä¹ä¸è¯´ï¼å®ä»¬æ¯âæåå§çâã
å°è¯è®¿é®è¿ç§å¼ç屿§ä¼å¯¼è´é误ï¼
alert(null.test); // error
æ»ç»
- é¤
nullåundefined以å¤çåå§ç±»å齿ä¾äºè®¸å¤æç¨çæ¹æ³ãæä»¬åé¢çç« èä¸å¦ä¹ è¿äºå 容ã - ä»å½¢å¼ä¸è®²ï¼è¿äºæ¹æ³éè¿ä¸´æ¶å¯¹è±¡å·¥ä½ï¼ä½ JavaScript 弿å¯ä»¥å¾å¥½å°è°æ´ï¼ä»¥å¨å é¨å¯¹å ¶è¿è¡ä¼åï¼å æ¤è°ç¨å®ä»¬å¹¶ä¸éè¦å¤ªé«çææ¬ã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼