javascript bool 强制类型转换
javascript中if条件何时为true呢? 除了有一些能直接比较出结果的表达式之外,对于直接将变量放入if 括号中,何时为true,何时为false呢。下面看具体例子。
var a;if(a){alert("true");}else{alert("false");}
运行结果为 false
var a=1;if(a){alert("true");}else{alert("false");}
运行结果为 true
var a=0;if(a){alert("true");}else{alert("false");}
运行结果为 false
var a=true;//或者a="true"if(a){alert("true");}else{alert("false");}
运行结果为 true
var a=false;//或者a="false"if(a){alert("true");}else{alert("false");}
运行结果为 false
此处的大小写是不区分的。
var a="";if(a){alert("true");}else{alert("false");}
运行结果为 false
var a="1212";//非空字符串,并且不为"false"
// 注意包含空格的字符串也是非空的 (" ")if(a){alert("true");}else{alert("false");}
运行结果为 true
其本质就是js中强制类型转换的结果,也就是其他非bool类型转换成bool类型,js处理如下:
对于var a;
1. 如果a未赋值,则为null,会被强制转换为false;
2, 如果a为数值类型的话, 0 或0.000 为false,其他非0值为true;
3. 如果a为字符串的话, “” 和“false” 会被转换成false, 注意“false” 是不区分大小写的,就是说“False”,"FAlse"等都会被转换成false。
其他字符串被转换成true 包括含有空格的空字符串(“ ”)。
4.如果a是其他类型:数组,function,对象,则会被转换成true;
有一种a为function需要说明,看下面例子:
var a=function(){};if( a()){alert("true");}else{alert("false");}
结果为false.
原因是没有返回结果的函数值的返回结果是 undefined。而undefined 会被当做false 处理。
注意: if(a) 和if(a()) 是完全不同的。if(a)是会一直返回true的,因为他是将函数强制转换。但是if((a))是将函数的返回结果强制转换。
javascript bool 强制类型转换相关推荐
- JavaScript的强制类型转换
强制类型转换 强制类型转换是指将一个数据类型强制转换为其他数据类型 主要是将其他的数据类型转换为:String,Number,Boolean 将其他类型转换为String类型 调用被转换数据类型的to ...
- javascript中强制类型转换详解+总结
javascript中一共有六种类型:Number,String,Boolean,Undefined,Object,function.可以用typeof来查看声明的变量的类型.注意,typeof是操作 ...
- Javascript 强制类型转换函数
1. Boolean(value):把值转换成Boolean类型: 2. Nnumber(value):把值转换成数字(整型或浮点数): 3. String(value):把值转换成字符串. 我们先来 ...
- char强制类型转换为int_为强制类型转换正名
为强制类型转换正名www.yexiaochen.com 引子 强制类型转换是JavaScript开发人员最头疼的问题之一, 它常被诟病为语言设计上的一个缺陷, 太危险, 应该束之高阁. 作为开发人员 ...
- JavaScript 中的强制类型转换
JavaScript 作为一个动态编程语言,其中的数据类型会随着程序运行而动态改变.对于很多人来说,强制类型转换很容易造成程序出错,而要记住所有的转换方式又是一件不那么容易的事情.比如下面这张 Jav ...
- JavaScript强制类型转换(一)String字符串型
JavaScript强制类型转换(一) 概念 将其他的数据类型转换作为String字符串型 方式一:调用toString()方法 方式二:调用String()函数 方式三:拼接字符串 概念 类型转换主 ...
- 《你不知道的JavaScript》整理(六)——强制类型转换
JavaScript中通常分为两种类型转换,"隐式强制类型转换"(implicit coercion)和"显式强制类型转换"(explicit coercion ...
- JavaScript基础02【强制类型转换(String Number Boolean) 其它进制数】
学习地址: 谷粒学院---尚硅谷 尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版JavaScrip ...
- javascript 强制类型转换
来源:http://www.diybl.com/course/1_web/javascript/jsjs/2007114/83289.html 强制类型转换 使用强制类型转换(type ca ...
最新文章
- 天大和武大计算机考研,985大学排名出炉,天大和武大并列第10,榜首是哪所?...
- linux下搭建git服务器
- 克莱因瓶为何永远无法装满?科学家发现:宇宙或许就是克莱因瓶!
- PLSQL_性能优化系列15_Oracle Explain Plan解析计划解读
- VMware NSX组件构建矩阵
- 排序算法Java实现(快速排序)
- 20190915:(leetcode习题)对称二叉树
- CentOS connect:fail, reason: connect server 22 port fail
- 【图神经网络】向往的GAT(图注意力模型)
- Hi,Let's Get Started,Mr Qu
- 机器学习(一) Eviews下载及安装教程
- oracle strsplit函数,oracle splitstr 函数
- vmplayer7安装OSX10.10
- qt html ui,DSkin 的WebUI开发模式介绍,Html快速开发Winform的UI
- message: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryksbSBUwTCB6eHI3j;charse
- JavaSE学习笔记-08
- JVM内存模型和性能调优:阿里巴巴Arthas调优工具:什么是Arthas- 第43篇
- FORM 6i 安装
- docker创建(run)容器后容器自动关闭
- 美国邮编及电话号码区域查询
热门文章
- 生物信息学必读100篇论文
- vim+Vundle+vim-autoformat+astyle格式化代码
- 【机器学习】逻辑回归(LogisticRegression)原理与实战
- 无人驾驶公司大全(原无人驾驶龙虎榜)
- 小程序实现商城案例(赋源码)
- python:输入一个整数正序各个输出,并判断输出位数
- excel波士顿矩阵怎么做_excel矩阵图怎么做
- C++17 文件与目录操作 <filesystem>
- 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)
- CList POSITION