[JS]Javascript中==和===的区别

一、JavaScript"=="的作用

  1. 当==两边的内容是字符串时,则比较字符串的内容是否相等。
  2. 当==两边的内容是数字时,则比较数字的大小是否相等。
  3. 当==两边的内容是对象或者是对象的函数属性时,则比较内存地址是否相等

二、==和===的区别

  ==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase

举例说明:

1  <script type="text/javascript">
2     alert("\"1\"==true的结果是:"+("1"==true));
3     alert("\"1\"===true的结果是:"+("1"===true));
4     alert("\"1\"==1的结果是:"+("1"==1));
5     alert("\"1\"===1的结果是:"+("1"===1));
6  </script>

  "1" == true类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;此时,"==" 左右两边的类型都为数值型,比较成功!

  "1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;

  "1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;

运行结果:

总结:

  ==和===的区别:"==" 只要求值相等; "===" 要求值和类型都相等

时间: 2024-10-12 17:20:20

[JS]Javascript中==和===的区别的相关文章

javascript中=、==、===区别详解

javascript中=.==.===区别详解今天在项目开发过中发现在一个小问题.在判断n==""结果当n=0时 n==""结果也返回了true.虽然是个小问题,却有着大影响,所以决定深入分析下.1.= 赋值运算符 //例: var n=1; console.log(n);//1 n=n+1; console.log(n);//2 2.== 值比较运算符 值比较运算符在表达式两边的数据类型不一致时,会隐式转换为相同数据类型,然后对值进行比较. //例: var a=

javascript中&amp;&amp;和||的区别

javascript中&&和||的区别 &&和||操作符两边不是布尔类型时,系统会转换成布尔类型值再计算(空字符串.null.0都会被转成false),结果本身不变. &&操作符总结:只要一个false就取false的值,都是true取后面,都是false取前面. <script type="text/javascript"> var a = 123 && 234; var b = 0 && 1

javascript 中==和===的区别

    对于JavaScript中比较运算符,可能大家用的比较多的是“==”.对于“===”很多人可能很陌生.=== 表示恒等,首先比较两边的变量数据类型是否相等,其次比较两边的变量的数值是否相等:== 表示相等即仅仅比较两边变量的数值是否相等. 一.“===”首先计算其操作数的值,然后比较这两个值,比较过程没有任何类型转换 1.如果两个值类型不相同,则它们不相等. 2.如果两个值都是null或者都是undefined,则它们不相等. 3.如果两个值都是布尔值true或false,则它们相等.

js(javascript)中的奇特for循环写法!

本文章为JavaScript强化教程系列介绍js开发 最近在在一份面试题中看到这样几种for循环的写法第一反应是懵逼的 之后仔细看一下还是没有问题的 首先上代码第一种 正常的循环 [javascript] view plain copy  forvar i=0;i<10;i++{} 这种f循环是正常的循环完全没有问题 第二种 [javascript] view plain copy  forvar i=10;i--;{} 循环结果是正常循环10次 第三种 for(;;); 这种会死循环 第四种

Javascript中“==”与“===”的区别

在Javascript中有"=="和"==="两种比较运行符,那么他们有什么区别呢? 一.对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 2)同类型比较,直接进行“值”比较,两者结果一样 二.对于Array,Object等高级类型,==和===是没有区别的 当一个变量定义为Arrary和一个变量定义为Object类型时,但是其值相同时,==和

java 和 JS(javaScript)中的反斜杠正则转义

首先说下为什么要转义.在正则中有些字符有特殊含义的,比方说 * 可以前一子表达式的任意次,. 表示除"\r\n"之外的任何单个字符,+ 表示前一子表达式的一次或多次,等.而在有些情况下,需要正则验证这些字符,比方说要验证加减乘除四个运算符号,为了告诉编译器,你要验证的是一个字符而不是正则表达式,就要对这些有特殊含义的字符进行转义,这样就有了转义这一操作. 在java 和javascipt中,都是用反斜杠"\"进行转义,然后两种语言的用法不尽相同,下面举例说明: 1.

cocos2d JS -&gt; JavaScript 中的简单继承关系

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; min-height: 25.0px } span.Apple-tab-span { white-space: pre } JavaScript 语言本身没有提供类,没有其他语言的类继承机制,它的

JS JavaScript中的this

this是JavaScript语言中的一个关键字 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用. function test() { this.x = 1; } 上面代码中,函数test运行时,内部会自动有一个this对象可以使用. 那么,this的值是什么呢? 函数在不同使用场合,this有不同的值.总之,this就是函数运行时所在的环境对象. 情况一:纯粹的函数调用 这是函数的最常通用法,属于全局性调用,因此this就代表全局对象. var x = 1; functi

javascript中===和==的区别

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // === 和 == // === (判断更加严格) // 先会判断两边