JS中"=="的转换规则

number类型与string类型比较,string会转换为number类型

        ‘‘ == ‘0‘ //false
        0 == ‘‘//true;
        0 == ‘0‘//true
        ‘ \t\r\n ‘==0//true

null和undefined类型比较始终相等

null == undefined //true

布尔类型与其它任何类型进行比较,布尔类型将会转换为number类型

        false == ‘false‘//false
        false == ‘0‘//false
        false == null//false
        null == undefined //true

number类型或string类型与object类型进行比较,number或者string类型都会转换为object类型

        var a = 0, b = {};
        a == b//false

请始终使用===和!===

时间: 2024-10-17 23:27:41

JS中"=="的转换规则的相关文章

JS中的"=="转换规则

number类型与string类型比较,string会转换为number类型 '' == '0' //false 0 == ''//true; 0 == '0'//true ' \t\r\n '==0//true null和undefined类型比较始终相等 null == undefined //true 布尔类型与其它任何类型进行比较,布尔类型将会转换为number类型 false == 'false'//false false == '0'//false false == null//fa

JS中的各种类型转换规则(转)

JS中的类型转换非常恶心,大家都懂的,不过该学还是要学. 今天看犀牛书看到了转换规则,总结出来. X转字符串.数字.布尔值 X表示各种类型的值,直接上图: 值 转数字 转字符串 转布尔值 undefined NaN “undefined” false null 0 “null” false true 1 “true”   false 0 “false”   0   “0” false -0   “0” false NaN   “NaN” false Infinity   “Infinity” t

JS中 toString() & valueOf()

原文链接: http://www.cnblogs.com/imwtr/p/4392041.html 数据的转换 所有对象继承了两个转换方法: 第一个是toString(),它的作用是返回一个反映这个对象的字符串 第二个是valueOf(),它的作用是返回它相应的原始值 toString() toString()可以看做是把一个数据转换成了相应字符串的形式,安照这个转换规则中 使用样例: //返回相应的字符串 console.log( ({x:1, y:1 }).toString() ); //

简说JS中的循环部分

JS中的循环语句是JS基础的最最重要的部分,没有之一,后面所学的其他的一些重要的知识也是需要在此的基础啥古玩城更高级的设置,先来简单的说一下循环的一些知识点. 一.循环结构的执行步骤 1.声明循环变量: 2.判断循环条件: 3.执行循环体操作: 4.更新循环变量: 然后,循环执行2-4,直到条件不成立时,跳出循环. while循环()中的表达式,运算结果可以是各种类型.但是最终都会转为真假,转换规则同if结构. while循环特点:先判断,再执行: do-while循环特点:先执行,再判断:即使

JS中的变量和输入输出

一.使用JS的三种方式 1.在HTML标签中,直接内嵌JS(并不提倡使用) <button onclick="alert('点你咋地')">点我</button> >>> 不符合w3c关于内容与行为分离的要求 2.在HTML页面中使用<script></script>包裹JS代码 <script type="text/javascript"> //JS代码 </script>

js中的 == 与 === 、永远不要使用 ==

很久没有复习基础了,所以导致做项目的时候被坑,咳咳,基础还是很重要的. === 是没有强制类型转换的,和其他大部分语言的 == 是一样的.而js中 == 是有类型转换的,这也是js饱受诟病的原因之一. 那么 == 的转换规则是什么呢? 比如说 "true" == true 就是错的, Boolean("false") == false 也是错的. 也就是说,对于 == 是有一定的类型转化的. '' == '0' // false 0 == '' // true 0

js中的|| 与 &amp;&amp;

js中的|| 与 &&a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回aa || b : 将a, b转换为Boolean类型, 再执行逻辑或, true返回a, false返回b转换规则:对象为true非零数字为true非空字符串为true其他为false

JS中令人发指的valueOf方法介绍

彭老湿近期月报里提到了valueOf方法,兴致来了翻了下ECMA5里关于valueOf方法的介绍,如下: 15.2.4.4 Object.prototype.valueOf ( ) When the valueOf method is called, the following steps are taken: 1. Let O be the result of calling ToObject passing the this value as the argument. 2. If O is

js中的||和&amp;&amp;的用法

与其他语言不同,在JS中,a&&b或者a||b返回的是要么是a,要么是b:而其他语言中返回的是true or false 对于js中的或与运算,需要隐式的转换为boolean类型再来运算:转换规则为: a&&b 如果a为true,则执行b并返回b的值: 如果a为false,则返回false不执行b: a||b 如果a为true,则返回a的值不执行b: 如果a为false,则执行b并返回b的值: var a=3; var b="test"; var c={