JavaScript的条件表达式"=="(等于)和"==="(严格等于)的区别

使用"==",如果两个值类型不同,他们可能相等,因为"=="默认会进行类型转换,转换规则比较复杂:

a、如果一个是null、一个是undefined,那么[相等]。

b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。

c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。

使用"===",两个值的类型和数值必须都相等,他们才相等,"==="在进行比较时不会进行数据类型的转换。

10 == "10"  // return true
10 === "10" // return false

建议永远不要使用"=="。

时间: 2024-10-08 13:56:34

JavaScript的条件表达式"=="(等于)和"==="(严格等于)的区别的相关文章

[转] JavaScript 中 == (等于) 与 === (恒等于) 的区别

一直以来没去注意这个恒等于(三个等号:===)的运算符.后来实际工作中遇到,就想了解一下这个等于和恒等于到底有什么区别. JavaScript 是弱类型语言,这就意味着,等于操作符会为了比较两个值而进行强制类型转换.注意0的相等运算,例如: Js代码 ""           ==   "0"           // false 0            ==   ""            // true 0            ==   

JavaScript之基础-4 JavaScript 运算符、表达式

一.JavaScript 运算符 运算符 - 算数运算        + - * / % ++ -- - 关系运算        > < >= <= == === != !== - 逻辑运算        && || ! - 位运算          & | ~ ^ << >> >>> - 赋值运算        = += -= *= /= %= - 字符连接运算    + - 条件(三目)运算  ?: - 特殊运算

javascript语句——条件语句、循环语句和跳转语句

× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文介绍可以改变语句默认执行顺序的条件语句.循环语句和跳转语句 条件语句 脚本的威力体现在它们可以根据人们给出的各种条件做出决策,javascript使用条件语句来做判断 条件语句(conditianal statement)通过判断表达式的值来决定执行还是跳过某些语句,包括if语句和switch语句

【C语言探索之旅】 第一部分第六课:条件表达式

内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文件读写 动

Shell编程 之 条件表达式

1 #!/bin/bash -   2 #===============================================================================  3 #  4 #          FILE: condition_expression_test.sh  5 #   6 #         USAGE: ./condition_expression_test.sh   7 #   8 #   DESCRIPTION:   9 #  10 #

shell条件表达式

shell编程中经常需要判断文件状态.字符串是否相等以及两个数值大小等情况,基于这些比较结果再做执行相关操作.本文主要讲述文件状态.字符串.数值大小的判断方法. 文件状态判断 文件状态的判断通常使用test命令完成,test命令有2种基本格式:test condition / [ condition ].后者使用时,需注意在条件两边加上空格,此种格式最为常用. 判断文件状态的表达式有很多,常用表达式如下: -e 判断文件或目录存是否存在 -f 判断是否为文件 -d 判断是否为目录 -r 判断文件

shell 的条件表达式及逻辑操作符简单介绍

查看系统的shell: cat /etc/shells 文件测试表达式: -f 文件  文件存在且为普通文件则真,即测试表达式成立. -d 文件  文件存在且为目录文件则真,即测试表达式成立. -s 文件  文件存在且文件大小不为0则真,即测试表达式成立. -e 文件  文件存在则真,即测试表达式成立.只要有文件就行,要区别 -f . -r 文件  文件存在且可读则真,即测试表达式成立. -w 文件 文件存在且可写则真,即测试表达式成立. -x 文件  文件存在且可执行则真,即测试表达式成立.

第一天:javascript变量与表达式(2)

本系列内容为本人平时项目实践和参照MDN,MSDN,<javascript语言精粹>,<Effective Javascript>等资料,并且整理自己EverNote的日常积累整理所写,时间太长有一些代码样例来源不可考.本系列不允许任何形式的转载,谢谢. from yeanzhi 大纲 第一天:javascript变量,操作符与变量作用域 第二天:javascript函数 第三天:对象与原型 第四天:再谈函数与继承 第五天:内置对象 第六天:特殊性质与技巧 第一天:javascri

javascript运算符——条件、逗号、赋值、()和void运算符

前面的话 javascript中运算符总共有46个,除了前面已经介绍过的算术运算符.关系运算符.位运算符.逻辑运算符之外,还有很多运算符.本文将介绍条件运算符.逗号运算符.赋值运算符.()和void运算符 条件运算符 条件运算符是javascript中唯一的一个三元运算符(三个操作数),有时直接称做'三元运算符'.通常这个运算符写成'?:',当然在代码中往往不会这么简写,因为这个运算符拥有三个操作数,第一个操作数在'?'之前,第二个操作数在'?'和':'之间,第三个操作数在':'之后 varia