050_Boolean对象
1. Boolean對(duì)象
1.1. Boolean是對(duì)true或false的包裝對(duì)象。
1.2. 創(chuàng)建Boolean對(duì)象的語(yǔ)法:
var myBool = new Boolean(value);1.3. 參數(shù)value由布爾對(duì)象存放的值。
1.4. 當(dāng)Boolean()和運(yùn)算符new一起作為構(gòu)造函數(shù)使用時(shí), Boolean()將把它的參數(shù)轉(zhuǎn)換成一個(gè)布爾值, 并且返回一個(gè)包含該值的Boolean對(duì)象。
1.5. 如果省略value參數(shù), 或者設(shè)置為undefined、null、""、0、NaN或false, 則該對(duì)象設(shè)置為false。否則設(shè)置為true(即使value參數(shù)是字符串"false")。
2. Boolean對(duì)象屬性
3. Boolean對(duì)象方法
4. 使用字面量創(chuàng)建布爾值和Boolean對(duì)象創(chuàng)建布爾值
4.1. 使用字面量創(chuàng)建布爾值和Boolean對(duì)象創(chuàng)建布爾值
var b1 = new Boolean(); // Boolean對(duì)象創(chuàng)建布爾值 var b2 = false; // 使用字面量創(chuàng)建布爾值4.2. 使用字面量創(chuàng)建的布爾值和使用Boolean對(duì)象創(chuàng)建布爾值的不同
4.2.1. 使用字面量創(chuàng)建的布爾值是原始值, 儲(chǔ)存在棧中。
4.2.2. 使用Boolean對(duì)象創(chuàng)建的布爾值是對(duì)象(引用類型), 儲(chǔ)存在堆中。
4.2.3. 布爾字面量和Boolean對(duì)象創(chuàng)建布爾值的內(nèi)存結(jié)構(gòu):
4.2.4. 使用Boolean對(duì)象創(chuàng)建布爾值比使用字面量創(chuàng)建布爾值復(fù)雜的多(就是因?yàn)锽oolean對(duì)象多執(zhí)行了一個(gè)Boolean()構(gòu)造函數(shù)), 執(zhí)行效率低, 因此我們通常使用字面量創(chuàng)建布爾值。
4.2.5. 使用==運(yùn)算符判斷使用字面量和Boolean對(duì)象創(chuàng)建的相同值的布爾值是否相等時(shí), 結(jié)果是true, 因?yàn)椴紶栔迪嗤?/p>
4.2.6. 使用===運(yùn)算符判斷使用字面量和Boolean對(duì)象創(chuàng)建的相同值的布爾值是否相等時(shí), 結(jié)果是false, 因?yàn)殡m然布爾值相同, 但類型不同, 一個(gè)是布爾值, 一個(gè)是對(duì)象。
5. 布爾原始值可以使用Boolean對(duì)象的屬性和方法
5.1. 原始布爾值, 比如true, 無法擁有屬性和方法, 因?yàn)樗鼈儾皇菍?duì)象。
5.2. 但是通過JavaScript, Boolean對(duì)象的屬性和方法也可用于原始布爾值, 因?yàn)樵趫?zhí)行屬性和方法時(shí) JavaScript將原始布爾值視為偽對(duì)象。
6. Boolean對(duì)象重寫了Object對(duì)象的constructor: ? Boolean()屬性, 和toString()、valueOf()這兩個(gè)方法。
7. toString()方法
7.1. toString()方法可把一個(gè)邏輯值轉(zhuǎn)換為字符串, 并返回字符串原始值"true"或"false"。
7.2. 語(yǔ)法
booleanObject.toString()8. valueOf()方法
8.1. valueOf()方法可返回Boolean對(duì)象的原始值。
8.2. 語(yǔ)法
booleanObject.valueOf()9. 例子
9.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>Boolean對(duì)象</title></head><body><script type="text/javascript">var b1 = new Boolean(undefined);var b2 = new Boolean(null);var b3 = new Boolean("");var b4 = new Boolean("false");var b5 = new Boolean(0);var b6 = new Boolean(NaN);var b7 = new Boolean();var b8 = new Boolean(false);var b9 = new Boolean(true);var b10 = true;document.write('b1 = ' + b1 + '<br />');document.write('b2 = ' + b2 + '<br />');document.write('b3 = ' + b3 + '<br />');document.write('b4 = ' + b4 + '<br />');document.write('b5 = ' + b5 + '<br />');document.write('b6 = ' + b6 + '<br />');document.write('b7 = ' + b7 + '<br />');document.write('b8 = ' + b8 + '<br />');document.write('b9 = ' + b9 + '<br />');document.write('b10 = ' + b10 + '<hr />');document.write('(b9 == b10) = ' + (b9 == b10) + '<br />');document.write('((b9 === b10) = ' + (b9 === b10) + '<br />');document.write('(b9.valueOf() === b10) = ' + (b9.valueOf() === b10) + '<br />');document.write('(typeof b9) = ' + (typeof b9) + ', (typeof b9.valueOf()) = ' + (typeof b9.valueOf()) + '<br />');document.write('(typeof b10) = ' + (typeof b10) + ', (typeof b10.valueOf()) = ' + (typeof b10.valueOf()) + '<hr />');document.write('b8.toString() = "' + b8.toString() + '", (typeof b8.toString()) = ' + (typeof b8.toString()) + '<br />');document.write('b9.toString() = "' + b9.toString() + '", (typeof b9.toString()) = ' + (typeof b9.toString()) + '<br />');document.write('b10.toString() = "' + b10.toString() + '", (typeof b10.toString()) = ' + (typeof b10.toString()) + '<br />');</script></body> </html>9.2. 效果圖
總結(jié)
以上是生活随笔為你收集整理的050_Boolean对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 049_Number对象
- 下一篇: 051_Array对象