js条件判断时隐式类型转换
Javascript 中,数字 0 为假,非0 均为真
在条件判断运算 == 中的转换规则是这样的:
如果比较的两者中有布尔值(Boolean),会把 Boolean 先转换为对应的 Number,即 0 和 1,然后进行比较。
如果比较的双方中有一方为 Number,一方为 String时,会把 String 通过 Number() 方法转换为数字,然后进行比较。
如果比较的双方中有一方为 Boolean,一方为 String时,则会将空字符串""转换为 false,除此外的一切字符串转换为 true,然后进行比较。
如果比较的双方中有一方为 Number,一方为Object时,则会调用 valueOf 方法将Object转换为数字,然后进行比较。
隐式类型转换会给我们造成很多麻烦,那么该怎么避免呢?
建议在所有使用条件判断的时候都使用全等运算符 ===
来进行条件判断。全等运算符会先进行数据类型判断,并且不会发生隐式类型转换。
转载于:https://www.cnblogs.com/phen/p/5437854.html
js条件判断时隐式类型转换相关推荐
- oracle c op,ORACLE中内部函数SYS_OP_C2C和隐式类型转换
什么是SYS_OP_C2C呢?官方的介绍如下: SYS_OP_C2C is an internal function which does an implicit conversion of varc ...
- Mysql隐式类型转换
概述 在开发规范中,我们往往会要求研发避免在where条件中出现隐式类型转换,这么要求大概有以下两方面的原因: 隐式类型转换可能导致索引失效: 隐式类型转换可能产生非预期的结果. 何为隐式转换:即在w ...
- html中隐式转换成数字,详解JS中的隐式类型转换
JS中隐式类型转换 JS中的数据类型 JS中的数据类型分为两大类: 1.基本数据类型: 1.String 字符串 表示一段文本,例如:人的姓名.地址等 2.Number 数值 3.Boolean 布尔 ...
- js中的隐式类型转换有哪些
目录 一.隐式类型转换条件有哪些 二.== 的隐式类型转换 三.+ 的隐式类型转换 四.object 的隐式类型转换 1.探讨 object 的隐式转换执行顺序 2.探讨 Symbol.toPrimi ...
- js类型转换(隐式类型转换显式类型转换)
我们需要了解任何计算都只能在相同的数据类型之间执行.如果我们强制JavaScript执行执行一些操作,例如在字符串中添加一个数字,在这种情况下,js编译器会默认将数字更改为字符串类型,然后将两者连接起 ...
- JS强制类型转换和隐式类型转换
一.隐式类型转换 隐式类型转换会自动根据运算符进行类型转换.隐式类型转换的情况主要有以下几种. 如果表达式中同时存在字符串类型和数字类型的操作数,而运算符使用加号+,此时 JavaScript 会自动 ...
- JavaScript隐式类型转换
JavaScript隐式类型转换 基本数据类型 ECMAScript 一共定义了七种 build-in types,其中六种为 Primitive Value,Null, Undefined,Stri ...
- 《MySQL tips:隐式类型转换与隐式字符编码转换对查询效率的影响》
维护一个交易系统,交易记录表tradelog包含交易流水号(tradeid).交易员id(operator).交易时间(t_modified)等字段. create table 'tradelog' ...
- int转换为cstring_PostgreSQL 隐式类型转换探秘
个人简介 何小栋, 从事产品研发和架构设计工作,对Oracle.PostgreSQL有深入研究,ITPUB数据库版块资深版主.现就职于广州云图数据技术有限公司,系统架构师,博客:http://blog ...
最新文章
- Redis数据介绍与指令大全
- 逻辑地址、线性地址、物理地址和虚拟地址
- 安营扎寨【我与51CTO的故事】
- python 解析xml 文件: SAX方式
- 关于解决vue.js中组件的template内容不能换行的问题
- ProjectorShadow 和 ShadowMap对比
- 转:Tomcat启动失败 提示Server Tomcat v7.0 Server at localhost failed to start.六种解决方法
- android在程序中打开另一个程序
- 解决SQL SERVER 2000挂起的问题
- NOIP2001题目汇总
- SQL不同类型分组排序
- 可转债数据一览表集思录_可转债交易常用的一些工具与手法 支独秀 股票大作手回忆录 自己常看的可转债数据网站: 集思录:网页链接 富投网:网页链接 可转债新债申购还不是闭着眼睛申... - 雪球...
- Intelligent information retrieval(智能信息检索综述)
- Class6:初学数据库之MySQL基础操作
- K8S查看容器日志、进入容器内部
- springboot+dubbo+tomcat部署出错问题
- 语义版本号(Semantic Versioning)
- 病案系统实施-基本知识-持续更新
- 数据库中间件Mycat诞生记2
- 大白兔启动盘做好后重做系统
热门文章
- 子进程中获取父进程id_进程全家桶,看这一篇就够了 | 原力计划
- ovirt 双机_ovirt kvm嵌套虚拟化
- es 模糊查询_ES系列11:Term-level queries 之 3种模糊查询和terms_set query
- c语言基础教程吕答案,全国计算机等级考试二级教程C语言程序设计课后习题答案.docx...
- videojs重播_vue2.0 vue-video-player 直播hls 回放mp4
- 点击home键_iPhone小技巧:无Home键iPhone11如何强制重启?
- Ubuntu 添加用户
- 有趣的JS 一行代码 偷取所有图片
- JavaScript学习笔记:语句
- 3.过滤——高斯滤波器之Matlab、Octave实战、保持两个高斯直行_5