Boolean对象与Boolean原始值的区别
我们先来看下面这道题:
var x = new Boolean(false);
if (x) {
alert('hi');
}
var y = Boolean(0);
if (y) {
alert('hello');
}
最后会弹出什么呢?w3c上说:创建boolean对象有两种语法:
new Boolean(value); //构造函数
Boolean(value); //转换函数
当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。
如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且返回这个值。
根据这里来看,上面是使用了new来创建构造函数,那么他返回的是一个对象。当一个值为false的Boolean对象放到条件语句当中的时候,Boolean对象的值会被当作true来计算,但是它本身的值并没有改变,依然是false。
再看下面这个测试:
var x = new Boolean(false);
alert(typeof x);//object
alert(x instanceof Boolean); //true
var y = Boolean(0);
alert(typeof y);//boolean
alert(y instanceof Boolean); //false
首先, typeof 操作符对基本类型返回 “boolean” ,而对引用类型返回 “object” 。其次,由于 Boolean 对象是 Boolean 类型的实例,所以使用 instanceof 操作符测试 Boolean 对象会返回 true ,而测试基本类型的布尔值则返回 false 。
最后总结:只是见过这个题,所以搜索了一下这个知识点,平时根本就没用过这东西。
Boolean对象与Boolean原始值的区别的更多相关文章
- 微信小程序:给data中对象中的属性设置值与给data中的属性或对象或数组设置值的区别
		
一.给data中的属性或对象或数组设置值,属性名不需要加引号 this.setData({ material: param, // 这里material为对象 } this.setData({ d ...
 - javascript 学习总结(三)Boolean对象
		
Boolean对象 /* 创建 Boolean 对象的语法: new Boolean(value); //构造函数 Boolean(value); //转换函数 参数 value 由布尔对象存放的值或 ...
 - Boolean对象 识记
		
Boolean 对象表示两个值:"true" 或 "false". 1.创建 new Boolean(value); //构造函数 返回 对象+返回值 Bool ...
 - JavaScript中对象转换为原始值的规则
		
JavaScript中对象转换为原始值遵循哪些原则? P52 对象到布尔值对象到布尔值的转换非常简单:所有的对象(包括数字和函数)都转换为true.对于包装对象亦是如此:new Boolean(fal ...
 - 浏览器端-3WSchool-JavaScript:JavaScript Boolean 对象
		
ylbtech-浏览器端-3WSchool-JavaScript:JavaScript Boolean 对象 1.返回顶部 1. Boolean 对象 Boolean 对象表示两个值:"tr ...
 - JavaScript 原始值与包装对象
		
前言 随着 JavaScript 越来越流行,越来越多地开发者开始接触并使用 JavaScript. 同时我也发现,有不少开发者对于 JavaScript 最基本的原始值和包装对象都没有很清晰的理解. ...
 - (复杂值vs原始值)&&内存空间 — 准确我们的JavaScript世界观(一):
		
写在前面 最近在读<JavaScript启示录>,这本书不是JavaScript的详尽的参考指南,但是把对象作为了解JavaScript的透镜,受益匪浅. 那么我们先来聊一下JavaScr ...
 - 复杂值vs原始值&&内存空间
		
写在前面 最近在读<JavaScript启示录>,这本书不是JavaScript的详尽的参考指南,但是把对象作为了解JavaScript的透镜,受益匪浅. 那么我们先来聊一下JavaScr ...
 - 编写陈旭,实现通过字符型变量创建boolean值,再将其转换为字符串输出,观察输出后的字符串与创建Boolean对象时给定的参数是否相等.
		
主要涉及到基本数据类型与包装类的转换. Boolean类的tostring方法的作用,返回一个表示该布尔值的 String 对象 public class Test1 { public static ...
 
随机推荐
- 【Android实战】记录自学自己定义GifView过程,能同一时候支持gif和其它图片!【有用篇】
			
之前写了一篇博客.<[Android实战]记录自学自己定义GifView过程,具体解释属性那些事! [学习篇]> 关于自己定义GifView的,具体解说了学习过程及遇到的一些类的解释,然后 ...
 - 飞思卡尔 imx6 GC0308 摄像头驱动配置调试过程
			
GC0308摄像头驱动程序使用的是linux v4l2协议,通过i2c信号进行控制.GC0308摄像头.对上电时序要求非常严格,一定要依据datasheet初始化摄像头. 本驱动使用的3.10内核,所 ...
 - jquery动态创建form表单
			
function exportExcel() { var merchantName = $('#merchantName').val(); var merchantNo = $('#merchantN ...
 - BestCoder Round #61 (div.2) B.Game    细节题
			
Game 问题描述 XY在玩一个游戏:有N根柱子排成一排,编号为1到N,每个柱子上面有一块宝石,现在XY站在第S根柱子上,出口在第T跟柱子上,XY需要拿到所有宝石后从出口离开.每次XY可以走到相邻 ...
 - Linux ALSA声卡驱动之八:ASoC架构中的Platform
			
1. Platform驱动在ASoC中的作用 前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过C ...
 - Faas 典型场景——应用负载有显著的波峰波谷,典型用例-基于事件的数据处理
			
Serverless适用的两大场景 场景一:应用负载有显著的波峰波谷 Serverless化与否的评判标准并不是公司规模的大小,而是其业务背后的具体技术问题,比如业务波峰波谷明显,如何实现削峰填谷.一 ...
 - JSP-Runoob:JSP XML 处理数据
			
ylbtech-JSP-Runoob:JSP XML 处理数据 1.返回顶部 1. JSP XML 数据处理 当通过HTTP发送XML数据时,就有必要使用JSP来处理传入和流出的XML文档了,比如RS ...
 - LuaBridge
			
不能直接公开基类的函数,必须单独公开基类,并声明继承关系 deriveClass<Player, BaseController>("Player") 直接公开基类的函 ...
 - 通过类库ChineseChar实现将汉字转化为拼音
			
//封装dllusing Microsoft.International.Converters.PinYinConverter;using System.Text;namespace Utils{ p ...
 - 命令框中oracle dmp文件的导入和导出(仅做个人备忘)
			
1.dmp文件导出 (全部)exp 用户名/密码 rows=y indexes=n compress=n buffer=65536 feedback=100000 file=F:\test.dmp ...