ECMAScript Boolean ÔËËã·û
Boolean ÔËËã·û·Ç³£ÖØÒª£¬ËüʹµÃ³ÌÐòÓïÑÔµÃÒÔÕý³£ÔËÐС£
Boolean ÔËËã·ûÓÐÈýÖÖ£ºNOT¡¢AND ºÍ OR¡£
ToBoolean ²Ù×÷
ÔÚѧϰ¸÷ÖÖÂß¼ÔËËã·û֮ǰ£¬ÈÃÎÒÃÇÏÈÁ˽âһϠECMAScript-262 v5 ¹æ·¶ÖÐÃèÊöµÄ ToBoolean ²Ù×÷¡£
³éÏó²Ù×÷ ToBoolean ½«Æä²ÎÊý°´ÕÕϱíÖеĹæÔòת»»ÎªÂß¼Öµ£º
²ÎÊýÀàÐÍ | ½á¹û |
---|---|
Undefined | false |
Null | false |
Boolean | ½á¹ûµÈÓÚÊäÈëµÄ²ÎÊý£¨²»×ª»»£© |
Number | Èç¹û²ÎÊýΪ +0, -0 »ò NaN£¬Ôò½á¹ûΪ false£»·ñÔòΪ true¡£ |
String | Èç¹û²ÎÊýΪ¿Õ×Ö·û´®£¬Ôò½á¹ûΪ false£»·ñÔòΪ true¡£ |
Object | true |
Âß¼ NOT ÔËËã·û
ÔÚ ECMAScript ÖУ¬Âß¼ NOT ÔËËã·ûÓë C ºÍ Java ÖеÄÂß¼ NOT ÔËËã·ûÏàͬ£¬¶¼ÓɸÐ̾ºÅ£¨!£©±íʾ¡£
ÓëÂß¼ OR ºÍÂß¼ AND ÔËËã·û²»Í¬µÄÊÇ£¬Âß¼ NOT ÔËËã·û·µ»ØµÄÒ»¶¨ÊÇ Boolean Öµ¡£
Âß¼ NOT ÔËËã·ûµÄÐÐΪÈçÏ£º
- Èç¹ûÔËËãÊýÊǶÔÏ󣬷µ»Ø false
- Èç¹ûÔËËãÊýÊÇÊý×Ö 0£¬·µ»Ø true
- Èç¹ûÔËËãÊýÊÇ 0 ÒÔÍâµÄÈκÎÊý×Ö£¬·µ»Ø false
- Èç¹ûÔËËãÊýÊÇ null£¬·µ»Ø true
- Èç¹ûÔËËãÊýÊÇ NaN£¬·µ»Ø true
- Èç¹ûÔËËãÊýÊÇ undefined£¬·¢Éú´íÎó
ͨ³££¬¸ÃÔËËã·ûÓÃÓÚ¿ØÖÆÑ»·£º
var bFound = false;
var i = 0;
while (!bFound)
{
if (aValue[i] == vSearchValues) {
bFound = true;
} else {
i++;
}
}
ÔÚÕâ¸öÀý×ÓÖУ¬Boolean ±äÁ¿£¨bFound£©ÓÃÓڼǼ¼ìË÷ÊÇ·ñ³É¹¦¡£ÕÒµ½ÎÊÌâÖеÄÊý¾ÝÏîʱ£¬bFound ½«±»ÉèÖÃΪ true£¬!bFound ½«µÈÓÚ false£¬Òâζ×ÅÔËÐн«Ìø³ö while Ñ»·¡£
ÅÐ¶Ï ECMAScript ±äÁ¿µÄ Boolean ֵʱ£¬Ò²¿ÉÒÔʹÓÃÂß¼ NOT ÔËËã·û¡£ÕâÑù×öÐèÒªÔÚÒ»ÐдúÂëÖÐʹÓÃÁ½¸ö NOT ÔËËã·û¡£ÎÞÂÛÔËËãÊýÊÇʲôÀàÐÍ£¬µÚÒ»¸ö NOT ÔËËã·û·µ»Ø Boolean Öµ¡£µÚ¶þ¸ö NOT ½«¶Ô¸Ã Boolean ÖµÇ󸺣¬´Ó¶ø¸ø³ö±äÁ¿ÕæÕýµÄ Boolean Öµ¡£
var bFalse = false; var sRed = "red"; var iZero = 0; var iThreeFourFive = 345; var oObject = new Object; document.write("bFalse µÄÂß¼ÖµÊÇ " + (!!bFalse)); document.write("sRed µÄÂß¼ÖµÊÇ " + (!!sRed)); document.write("iZero µÄÂß¼ÖµÊÇ " + (!!iZero)); document.write("iThreeFourFive µÄÂß¼ÖµÊÇ " + (!!iThreeFourFive)); document.write("oObject µÄÂß¼ÖµÊÇ " + (!!oObject));
½á¹û£º
bFalse µÄÂß¼ÖµÊÇ false sRed µÄÂß¼ÖµÊÇ true iZero µÄÂß¼ÖµÊÇ false iThreeFourFive µÄÂß¼ÖµÊÇ true oObject µÄÂß¼ÖµÊÇ true
Âß¼ AND ÔËËã·û
ÔÚ ECMAScript ÖУ¬Âß¼ AND ÔËËã·ûÓÃË«ºÍºÅ£¨&&£©±íʾ£º
ÀýÈ磺
var bTrue = true; var bFalse = false; var bResult = bTrue && bFalse;
ÏÂÃæµÄÕæÖµ±íÃèÊöÁËÂß¼ AND ÔËËã·ûµÄÐÐΪ£º
ÔËËãÊý 1 | ÔËËãÊý 2 | ½á¹û |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
Âß¼ AND ÔËËãµÄÔËËãÊý¿ÉÒÔÊÇÈκÎÀàÐ͵쬲»Ö¹ÊÇ Boolean Öµ¡£
Èç¹ûij¸öÔËËãÊý²»ÊÇÔʼµÄ Boolean ÐÍÖµ£¬Âß¼ AND ÔËËã²¢²»Ò»¶¨·µ»Ø Boolean Öµ£º
- Èç¹ûÒ»¸öÔËËãÊýÊǶÔÏó£¬ÁíÒ»¸öÊÇ Boolean Öµ£¬·µ»Ø¸Ã¶ÔÏó¡£
- Èç¹ûÁ½¸öÔËËãÊý¶¼ÊǶÔÏ󣬷µ»ØµÚ¶þ¸ö¶ÔÏó¡£
- Èç¹ûij¸öÔËËãÊýÊÇ null£¬·µ»Ø null¡£
- Èç¹ûij¸öÔËËãÊýÊÇ NaN£¬·µ»Ø NaN¡£
- Èç¹ûij¸öÔËËãÊýÊÇ undefined£¬·¢Éú´íÎó¡£
Óë Java ÖеÄÂß¼ AND ÔËËãÏàËÆ£¬ECMAScript ÖеÄÂß¼ AND ÔËËãÒ²ÊǼò±ãÔËË㣬¼´Èç¹ûµÚÒ»¸öÔËËãÊý¾ö¶¨Á˽á¹û£¬¾Í²»ÔÙ¼ÆËãµÚ¶þ¸öÔËËãÊý¡£¶ÔÓÚÂß¼ AND ÔËËãÀ´Ëµ£¬Èç¹ûµÚÒ»¸öÔËËãÊýÊÇ false£¬ÄÇôÎÞÂÛµÚ¶þ¸öÔËËãÊýµÄÖµÊÇʲô£¬½á¹û¶¼²»¿ÉÄܵÈÓÚ true¡£
¿¼ÂÇÏÂÃæµÄÀý×Ó£º
var bTrue = true; var bResult = (bTrue && bUnknown); //·¢Éú´íÎó alert(bResult); //ÕâÒ»Ðв»»áÖ´ÐÐ
Õâ¶Î´úÂëÔÚ½øÐÐÂß¼ AND ÔËËãʱ½«Òý·¢´íÎó£¬ÒòΪ±äÁ¿ bUnknown ÊÇ䶨ÒåµÄ¡£±äÁ¿ bTrue µÄֵΪ true£¬ÒòΪÂß¼ AND ÔËË㽫¼ÌÐø¼ÆËã±äÁ¿ bUnknown¡£ÕâÑù×ö¾Í»áÒý·¢´íÎó£¬ÒòΪ bUnknown µÄÖµÊÇ undefined£¬²»ÄÜÓÃÓÚÂß¼ AND ÔËËã¡£
Èç¹ûÐÞ¸ÄÕâ¸öÀý×Ó£¬°ÑµÚÒ»¸öÊýÉèΪ false£¬ÄÇô¾Í²»»á·¢Éú´íÎó£º
var bFalse = false;
var bResult = (bFalse && bUnknown);
alert(bResult); //Êä³ö "false"
ÔÚÕâ¶Î´úÂëÖУ¬½Å±¾½«Êä³öÂß¼ AND ÔËËã·µ»ØµÄÖµ£¬¼´×Ö·û´® "false"¡£¼´Ê¹±äÁ¿ bUnknown µÄֵΪ undefined£¬ËüÒ²²»»á±»¼ÆË㣬ÒòΪµÚÒ»¸öÔËËãÊýµÄÖµÊÇ false¡£
Ìáʾ£ºÔÚʹÓÃÂß¼ AND ÔËËã·ûʱ£¬±ØÐë¼ÇסËüµÄÕâÖÖ¼ò±ã¼ÆËãÌØÐÔ¡£
Âß¼ OR ÔËËã·û
ECMAScript ÖеÄÂß¼ OR ÔËËã·ûÓë Java ÖеÄÏàͬ£¬¶¼ÓÉË«ÊúÏߣ¨||£©±íʾ£º
var bTrue = true; var bFalse = false; var bResult = bTrue || bFalse;
ÏÂÃæµÄÕæÖµ±íÃèÊöÁËÂß¼ OR ÔËËã·ûµÄÐÐΪ£º
ÔËËãÊý 1 | ÔËËãÊý 2 | ½á¹û |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
ÓëÂß¼ AND ÔËËã·ûÏàËÆ£¬Èç¹ûij¸öÔËËãÊý²»ÊÇ Boolean Öµ£¬Âß¼ OR ÔËËã²¢²»Ò»¶¨·µ»Ø Boolean Öµ£º
- Èç¹ûÒ»¸öÔËËãÊýÊǶÔÏ󣬲¢ÇҸöÔÏó×ó±ßµÄÔËËãÊýÖµ¾ùΪ false£¬Ôò·µ»Ø¸Ã¶ÔÏó¡£
- Èç¹ûÁ½¸öÔËËãÊý¶¼ÊǶÔÏ󣬷µ»ØµÚÒ»¸ö¶ÔÏó¡£
- Èç¹û×îºóÒ»¸öÔËËãÊýÊÇ null£¬²¢ÇÒÆäËûÔËËãÊýÖµ¾ùΪ false£¬Ôò·µ»Ø null¡£
- Èç¹û×îºóÒ»¸öÔËËãÊýÊÇ NaN£¬²¢ÇÒÆäËûÔËËãÊýÖµ¾ùΪ false£¬Ôò·µ»Ø NaN¡£
- Èç¹ûij¸öÔËËãÊýÊÇ undefined£¬·¢Éú´íÎó¡£
ÓëÂß¼ AND ÔËËã·ûÒ»Ñù£¬Âß¼ OR ÔËËãÒ²ÊǼò±ãÔËËã¡£¶ÔÓÚÂß¼ OR ÔËËã·ûÀ´Ëµ£¬Èç¹ûµÚÒ»¸öÔËËãÊýֵΪ true£¬¾Í²»ÔÙ¼ÆËãµÚ¶þ¸öÔËËãÊý¡£
ÀýÈ磺
var bTrue = true;
var bResult = (bTrue || bUnknown);
alert(bResult); //Êä³ö "true"
ÓëÇ°ÃæµÄÀý×ÓÏàͬ£¬±äÁ¿ bUnknown ÊÇ䶨ÒåµÄ¡£²»¹ý£¬ÓÉÓÚ±äÁ¿ bTrue µÄֵΪ true£¬bUnknown ²»»á±»¼ÆË㣬Òò´ËÊä³öµÄÊÇ "true"¡£
Èç¹û°Ñ bTrue ¸ÄΪ false£¬½«·¢Éú´íÎó£º
var bFalse = false; var bResult = (bFalse || bUnknown); //·¢Éú´íÎó alert(bResult); //²»»áÖ´ÐÐÕâÒ»ÐÐ