æä»¬ç¥éï¼å¨æ°å¦ä¸æå¾å¤ç¨äºæ¯è¾å¤§å°çè¿ç®ç¬¦ã
å¨ JavaScript ä¸ï¼å®ä»¬çç¼åæ¹å¼å¦ä¸ï¼
- å¤§äº / å°äºï¼
a > bï¼a < bã - 大äºçäº / å°äºçäºï¼
a >= bï¼a <= bã - æ£æ¥ä¸¤ä¸ªå¼çç¸çï¼
a == bï¼è¯·æ³¨æåçå·==表示ç¸çæ§æ£æ¥ï¼èåçå·a = b表示èµå¼ã - æ£æ¥ä¸¤ä¸ªå¼ä¸ç¸çï¼ä¸ç¸ç卿°å¦ä¸çç¬¦å·æ¯
âï¼ä½å¨ JavaScript ä¸åæa != bã
卿¬æä¸ï¼æä»¬å°è¿ä¸æ¥äºè§£ä¸åç±»åçæ¯è¾ï¼JavaScript æ¯å¦ä½è¿è¡æ¯è¾çï¼å æ¬ä¸äºéè¦çç¹æ®æ§ã
卿æ«ç»åºäºä¸äºç§è¯ï¼å¸®å©ä½ é¿å âJavaScript é·é±âç¸å ³çé®é¢ã
æ¯è¾ç»æä¸º Boolean ç±»å
æææ¯è¾è¿ç®ç¬¦åè¿åå¸å°å¼ï¼
trueââ 表示âyesï¼æ¯ï¼âï¼âcorrectï¼æ£ç¡®ï¼âæâthe truthï¼çï¼âãfalseââ 表示ânoï¼å¦ï¼âï¼âwrongï¼é误ï¼âæânot the truthï¼éçï¼âã
示ä¾ï¼
alert( 2 > 1 ); // trueï¼æ£ç¡®ï¼
alert( 2 == 1 ); // falseï¼é误ï¼
alert( 2 != 1 ); // trueï¼æ£ç¡®ï¼
åå ¶ä»ç±»åçå¼ä¸æ ·ï¼æ¯è¾çç»æå¯ä»¥è¢«èµå¼ç»ä»»æåéï¼
let result = 5 > 4; // ææ¯è¾çç»æèµå¼ç» result
alert( result ); // true
å符串æ¯è¾
卿¯è¾å符串ç大尿¶ï¼JavaScript ä¼ä½¿ç¨âåå ¸ï¼dictionaryï¼âæâè¯å ¸ï¼lexicographicalï¼â顺åºè¿è¡å¤å®ã
æ¢è¨ä¹ï¼åç¬¦ä¸²æ¯æåç¬¦ï¼æ¯ï¼é个è¿è¡æ¯è¾çã
ä¾å¦ï¼
alert( 'Z' > 'A' ); // true
alert( 'Glow' > 'Glee' ); // true
alert( 'Bee' > 'Be' ); // true
åç¬¦ä¸²çæ¯è¾ç®æ³é常ç®åï¼
- é¦å æ¯è¾ä¸¤ä¸ªå符串çé¦ä½å符大å°ã
- 妿䏿¹å符è¾å¤§ï¼æè¾å°ï¼ï¼å该å符串大äºï¼æå°äºï¼å¦ä¸ä¸ªå符串ãç®æ³ç»æã
- å¦åï¼å¦æä¸¤ä¸ªå符串çé¦ä½å符ç¸çï¼åç»§ç»ååºä¸¤ä¸ªå符串åèªçåä¸ä½å符è¿è¡æ¯è¾ã
- éå¤ä¸è¿°æ¥éª¤è¿è¡æ¯è¾ï¼ç´å°æ¯è¾å®ææåç¬¦ä¸²çææå符为æ¢ã
- å¦æä¸¤ä¸ªå符串çåç¬¦åæ¶ç¨å®ï¼é£ä¹åå¤å®å®ä»¬ç¸çï¼å¦åæªç»æï¼è¿ææªæ¯è¾çå符ï¼çå符串æ´å¤§ã
å¨ä¸é¢ç第ä¸ä¸ªä¾åä¸ï¼'Z' > 'A' æ¯è¾å¨ç®æ³ç第 1 æ¥å°±å¾å°äºç»æã
å¨ç¬¬äºä¸ªä¾åä¸ï¼å符串 Glow ä¸ Glee çæ¯è¾åéè¦æ´å¤æ¥éª¤ï¼å 为éè¦é个å符è¿è¡æ¯è¾ï¼
GåGç¸çãlålç¸çãoæ¯e大ï¼ç®æ³åæ¢ï¼ç¬¬ä¸ä¸ªå符串大äºç¬¬äºä¸ªã
å¨ä¸é¢çç®æ³ä¸ï¼æ¯è¾å¤§å°çé»è¾ä¸åå ¸æçµè¯ç°¿ä¸çæåºå¾åï¼ä½ä¹ä¸å®å ¨ç¸åã
æ¯å¦è¯´ï¼å符串æ¯è¾å¯¹åæ¯å¤§å°åæ¯ææçã大åç "A" å¹¶ä¸çäºå°åç "a"ãåªä¸ä¸ªæ´å¤§å¢ï¼å®é
ä¸å°åç "a" æ´å¤§ãè¿æ¯å ä¸ºå¨ JavaScript 使ç¨çå
é¨ç¼ç 表ä¸ï¼Unicodeï¼ï¼å°å忝çå符索å¼å¼æ´å¤§ãæä»¬ä¼å¨ å符串 è¿ç« 讨论æ´å¤å
³äºå符串çç»èã
ä¸åç±»åé´çæ¯è¾
å½å¯¹ä¸åç±»åçå¼è¿è¡æ¯è¾æ¶ï¼JavaScript ä¼é¦å å°å ¶è½¬å为æ°åï¼numberï¼åå¤å®å¤§å°ã
ä¾å¦ï¼
alert( '2' > 1 ); // trueï¼å符串 '2' ä¼è¢«è½¬å为æ°å 2
alert( '01' == 1 ); // trueï¼å符串 '01' ä¼è¢«è½¬å为æ°å 1
对äºå¸å°ç±»åå¼ï¼true ä¼è¢«è½¬å为 1ãfalse 转å为 0ã
ä¾å¦ï¼
alert( true == 1 ); // true
alert( false == 0 ); // true
ææ¶åï¼ä»¥ä¸ä¸¤ç§æ åµä¼åæ¶åçï¼
- è¥ç´æ¥æ¯è¾ä¸¤ä¸ªå¼ï¼å ¶ç»ææ¯ç¸ççã
- è¥æä¸¤ä¸ªå¼è½¬ä¸ºå¸å°å¼ï¼å®ä»¬å¯è½å¾åºå®å
¨ç¸åçç»æï¼å³ä¸ä¸ªæ¯
trueï¼ä¸ä¸ªæ¯falseã
ä¾å¦ï¼
let a = 0;
alert( Boolean(a) ); // false
let b = "0";
alert( Boolean(b) ); // true
alert(a == b); // true!
å¯¹äº JavaScript èè¨ï¼è¿ç§ç°è±¡å
¶å®æºæ£å¸¸çãå 为 JavaScript 伿å¾
æ¯è¾çå¼è½¬å为æ°ååå忝è¾ï¼å æ¤ "0" åæäº 0ï¼ãè¥åªæ¯å°ä¸ä¸ªåé转å为 Boolean å¼ï¼åä¼ä½¿ç¨å
¶ä»çç±»å转æ¢è§åã
ä¸¥æ ¼ç¸ç
æ®éçç¸çæ§æ£æ¥ == åå¨ä¸ä¸ªé®é¢ï¼å®ä¸è½åºååº 0 å falseï¼
alert( 0 == false ); // true
ä¹åæ ·æ æ³åºå空å符串å falseï¼
alert( '' == false ); // true
è¿æ¯å ä¸ºå¨æ¯è¾ä¸åç±»åç弿¶ï¼å¤äºç¸çå¤æç¬¦å· == 两侧çå¼ä¼å
被转å为æ°åã空å符串å false 乿¯å¦æ¤ï¼è½¬ååå®ä»¬é½ä¸ºæ°å 0ã
妿æä»¬éè¦åºå 0 å falseï¼è¯¥æä¹åï¼
ä¸¥æ ¼ç¸çè¿ç®ç¬¦ === å¨è¿è¡æ¯è¾æ¶ä¸ä¼åä»»ä½çç±»å转æ¢ã
æ¢å¥è¯è¯´ï¼å¦æ a å b å±äºä¸åçæ°æ®ç±»åï¼é£ä¹ a === b ä¸ä¼åä»»ä½çç±»å转æ¢èç«å»è¿å falseã
让æä»¬è¯è¯ï¼
alert( 0 === false ); // falseï¼å 为被æ¯è¾å¼çæ°æ®ç±»åä¸å
åæ ·çï¼ä¸âä¸ç¸çâç¬¦å· != 类似ï¼âä¸¥æ ¼ä¸ç¸çâ表示为 !==ã
ä¸¥æ ¼ç¸ççè¿ç®ç¬¦è½ç¶åèµ·æ¥ç¨å¾®é¿ä¸äºï¼ä½æ¯å®è½å¤å¾æ¸ æ¥å°æ¾ç¤ºä»£ç æå¾ï¼éä½ä½ ç¯éçå¯è½æ§ã
对 null å undefined è¿è¡æ¯è¾
å½ä½¿ç¨ null æ undefined ä¸å
¶ä»å¼è¿è¡æ¯è¾æ¶ï¼å
¶è¿åç»æå¸¸å¸¸åºä¹ä½ çææã
- å½ä½¿ç¨ä¸¥æ ¼ç¸ç
===æ¯è¾äºè æ¶ -
å®ä»¬ä¸ç¸çï¼å 为å®ä»¬å±äºä¸åçç±»åã
alert( null === undefined ); // false - å½ä½¿ç¨éä¸¥æ ¼ç¸ç
==æ¯è¾äºè æ¶ -
JavaScript åå¨ä¸ä¸ªç¹æ®çè§åï¼ä¼å¤å®å®ä»¬ç¸çãå®ä»¬ä¿©å°±åâä¸å¯¹æäººâï¼ä» ä» çäºå¯¹æ¹èä¸çäºå ¶ä»ä»»ä½çå¼ï¼åªå¨éä¸¥æ ¼ç¸ç䏿ç«ï¼ã
alert( null == undefined ); // true - å½ä½¿ç¨æ°å¦å¼æå
¶ä»æ¯è¾æ¹æ³
< > <= >=æ¶ï¼ -
null/undefinedä¼è¢«è½¬å为æ°åï¼null被转å为0ï¼undefined被转å为NaNã
ä¸é¢è®©æä»¬ççï¼è¿äºè§åä¼å¸¦æ¥ä»ä¹æè¶£çç°è±¡ãåæ¶æ´éè¦çæ¯ï¼æä»¬éè¦ä»ä¸å¦ä¼å¦ä½è¿ç¦»è¿äºç¹æ§å¸¦æ¥çâé·é±âã
奿ªçç»æï¼null vs 0
éè¿æ¯è¾ null å 0 å¯å¾ï¼
alert( null > 0 ); // (1) false
alert( null == 0 ); // (2) false
alert( null >= 0 ); // (3) true
æ¯çï¼ä¸é¢çç»æå®å
¨æç ´äºä½ 对æ°å¦ç认è¯ã卿åä¸è¡ä»£ç æ¾ç¤ºânull 大äºçäº 0âçæ
åµä¸ï¼å两è¡ä»£ç ä¸ä¸å®ä¼æä¸ä¸ªæ¯æ£ç¡®çï¼ç¶èäºå®è¡¨æå®ä»¬çç»æé½æ¯ falseã
为ä»ä¹ä¼åºç°è¿ç§åå¸¸ç»æï¼è¿æ¯å 为ç¸çæ§æ£æ¥ == 忮鿝è¾ç¬¦ > < >= <= ç代ç é»è¾æ¯ç¸äºç¬ç«çãè¿è¡å¼çæ¯è¾æ¶ï¼null ä¼è¢«è½¬å为æ°åï¼å æ¤å®è¢«è½¬åä¸ºäº 0ãè¿å°±æ¯ä¸ºä»ä¹ï¼3ï¼ä¸ null >= 0 è¿å弿¯ trueï¼ï¼1ï¼ä¸ null > 0 è¿å弿¯ falseã
å¦ä¸æ¹é¢ï¼undefined å null å¨ç¸çæ§æ£æ¥ == ä¸ä¸ä¼è¿è¡ä»»ä½çç±»å转æ¢ï¼å®ä»¬æèªå·±ç¬ç«çæ¯è¾è§åï¼æä»¥é¤äºå®ä»¬ä¹é´äºçå¤ï¼ä¸ä¼çäºä»»ä½å
¶ä»çå¼ãè¿å°±è§£éäºä¸ºä»ä¹ï¼2ï¼ä¸ null == 0 ä¼è¿å falseã
ç¹ç«ç¬è¡ç undefined
undefined ä¸åºè¯¥è¢«ä¸å
¶ä»å¼è¿è¡æ¯è¾ï¼
alert( undefined > 0 ); // false (1)
alert( undefined < 0 ); // false (2)
alert( undefined == 0 ); // false (3)
为ä½å®çèµ·æ¥å¦æ¤åæ¶ 0ï¼è¿åå¼é½æ¯ falseï¼
åå å¦ä¸ï¼
(1)å(2)é½è¿åfalseæ¯å 为undefined卿¯è¾ä¸è¢«è½¬æ¢ä¸ºäºNaNï¼èNaNæ¯ä¸ä¸ªç¹æ®çæ°å¼åå¼ï¼å®ä¸ä»»ä½å¼è¿è¡æ¯è¾é½ä¼è¿åfalseã(3)è¿åfalseæ¯å ä¸ºè¿æ¯ä¸ä¸ªç¸çæ§æ£æ¥ï¼èundefinedåªä¸nullç¸çï¼ä¸ä¼ä¸å ¶ä»å¼ç¸çã
é¿å é®é¢
æä»¬ä¸ºä½è¦ç ç©¶ä¸è¿°ç¤ºä¾ï¼æä»¬éè¦æ¶å»è®°å¾è¿äºå¤æªçè§ååï¼ä¸ï¼å ¶å®ä¸éè¦ãè½ç¶éç代ç åå¾è¶æ¥è¶å¤ï¼æä»¬å¯¹è¿äºè§åä¹é½ä¼ççäºè¸ï¼ä½æ¯æä»¬éè¦æ´ä¸ºå¯é çæ¹æ³æ¥é¿å æ½å¨çé®é¢ï¼
- é¤äºä¸¥æ ¼ç¸ç
===å¤ï¼å ¶ä»ä½å¡æ¯æundefined/nullåä¸çæ¯è¾ï¼æä»¬é½éè¦æ ¼å¤å°å¿ã - é¤éä½ é常æ¸
æ¥èªå·±å¨åä»ä¹ï¼å¦åæ°¸è¿ä¸è¦ä½¿ç¨
>= > < <=廿¯è¾ä¸ä¸ªå¯è½ä¸ºnull/undefinedçåéã对äºåå¼å¯è½æ¯null/undefinedçåéï¼è¯·æéè¦å嫿£æ¥å®çå弿 åµã
æ»ç»
- æ¯è¾è¿ç®ç¬¦å§ç»è¿åå¸å°å¼ã
- åç¬¦ä¸²çæ¯è¾ï¼ä¼æç §âè¯å ¸â顺åºéåç¬¦å°æ¯è¾å¤§å°ã
- å½å¯¹ä¸åç±»åçå¼è¿è¡æ¯è¾æ¶ï¼å®ä»¬ä¼å 被转å为æ°åï¼ä¸å æ¬ä¸¥æ ¼ç¸çæ£æ¥ï¼åè¿è¡æ¯è¾ã
- å¨éä¸¥æ ¼ç¸ç
==ä¸ï¼nullåundefinedç¸çä¸åèªä¸çäºä»»ä½å ¶ä»çå¼ã - å¨ä½¿ç¨
>æ<è¿è¡æ¯è¾æ¶ï¼éè¦æ³¨æåéå¯è½ä¸ºnull/undefinedçæ åµãæ¯è¾å¥½çæ¹æ³æ¯åç¬æ£æ¥å鿝å¦çäºnull/undefinedã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼