使用javascript:将其它类型值转换成布尔类型值的解决方法详解


Posted in Javascript onMay 07, 2013

1.利用Boolean对象进行转换

var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = Boolean(num123); //true num0 = Boolean(num0); //false str = Boolean(str); //true o = Boolean(o); //true

2. 利用两个'!'运算符,第一个'!'将值转换成布尔值并取其值的非值,第二个'!'将其布尔值还原,类似于“负负得正”的道理。

var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = !!(num123); //true num0 = !!(num0); //false str = !!(str); //true o = !!(o); //true

得到的结果同方法1.

最后要知道:任意的javascript的值都可以转换成布尔值。下面这些值会被转换成false:

undefined,null,0,-0,NaN,"" //空字符串

需要注意的是'0'这个仅仅包含0的字符串会转成true!

补充一下null和undefined的特殊性:

null == undefined //true null === undefined //false
Javascript 相关文章推荐
IE6与IE7中,innerHTML获取param的区别
Mar 15 Javascript
jquery之empty()与remove()区别说明
Sep 10 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
Jun 20 Javascript
理解JavaScript事件对象
Jan 25 Javascript
angular $watch 一个变量的变化(实例讲解)
Aug 02 Javascript
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
关于express与koa的使用对比详解
Jan 25 Javascript
vue底部加载更多的实例代码
Jun 29 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
Sep 16 Javascript
简单了解JavaScript中常见的反模式
Jun 21 Javascript
javascript实现移动端红包雨页面
Jun 23 Javascript
处理canvas绘制图片模糊问题
May 11 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 #Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
May 07 #Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 #Javascript
jQuery的slideToggle方法实例
May 07 #Javascript
jQuery实现动画效果的实例代码
May 07 #Javascript
nullJavascript中创建对象的五种方法实例
May 07 #Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
May 07 #Javascript
You might like
ip签名探针
2006/10/09 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
php框架知识点的整理和补充
2021/03/01 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
Python实现最大子序和的方法示例
2019/07/05 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
面试求职的个人自我评价
2013/11/16 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
成绩单家长意见
2015/06/03 职场文书
初三语文教学反思
2016/03/03 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang