文档章节

JavaScript 易错:相等操作符 == 与 === 不等操作符 != 与 !== 的区别

pradosoul
 pradosoul
发布于 2015/12/09 15:07
字数 204
阅读 28
收藏 0
点赞 0
评论 0

1. 在 JavaScript中,大家都比较熟悉的 相等操作符 ==,但是 == 并不表示严格的相等。

    举个例子:我们比较 false 与 一个空字符串,看看什么结果:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Test Equal</title>
</head>
<body>
    <h1>Let's test it!</h1>
    <script>
        var a = false;
        var b = "";
        if (a == b) {
            alert("a equals b");
        }
    </script>
</body>
</html>

    结果: a equals b ...

    

为什么?因为相等操作符 == 认为 空字符串 与 false 的含义相同。要进行严格比较,需要使用另一种等号:===。这个全等操作符不仅会比较 ,而且会比较 变量的类型

同样的,如果比较不等,!== 会进行比较严格的比较。


© 著作权归作者所有

共有 人打赏支持
pradosoul
粉丝 6
博文 40
码字总数 37445
作品 0
闵行
程序员
JavaScript中不得不说的断言?

断言主要应用于“调试”与“测试” 一、前端中的断言 仔细地查找一下JavaScript中的API,实际上并没有多少关于断言的方法。唯一一个就是console.assert: 当condition为false时,该方法则会将...

云起时 ⋅ 06/05 ⋅ 0

JavaScript中的this指针 理论化this指针的定义

JavaScript现在应用之广泛,远超其他任何语言,只要是一个合格的网站应用,基本上多多少少都会有JS的存在。在JavaScript中,this的指向被不少Coder所不解,但其实JS中的this理解起来也是相当...

superwebmaster ⋅ 05/29 ⋅ 0

由js数组类型判断触发的浪漫思绪

一、前言 众所周知,js是门“动态”、“弱类型”编程语言,这意味着在js中可以很任性的定义变量,任性的同时也意味着需常在开发中对变量做类型判断,曾几何时,对数组变量的类型的判断是件很...

hanmin ⋅ 06/08 ⋅ 0

JavaScript 编程精解 中文第三版 一、值,类型和运算符

一、值,类型和运算符 原文:Values, Types, and Operators 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解(第 2 版)》 在机器的表面之下,程序在...

apachecn_飞龙 ⋅ 04/29 ⋅ 0

JavaScript当中的this究竟是个啥?

对于JS的初学者而言,JS当中的this指向很难让人摸准其脉络,经常会给你一种模糊美、朦胧美的感脚!因为this并不是固定不变的,它会根据自身所执行的环境的不同而不同。而且在开发的过程中,经...

张培跃 ⋅ 06/18 ⋅ 0

第一章--JavaScript简介

1. JavaScript的构成 1.1. ECMAScript ECMAScript规定了核心语言的组成部分分别为:语法、类型、语句、关键字、保留字、操作符、对象。 宿主环境:Web浏览器、Node、Adobe Flash。 1.2. DOM...

lovewt ⋅ 06/05 ⋅ 0

JavaScript中的类型判断,了解一下?

在前端项目中,谁还没有被对象类型错误坑过? typeof操作符 通过typeof操作符获取操作数的类型: 关于typeof操作符,我们需要记住两点,第一点:当操作数为null时。 第二点:当操作数为原始类...

云起时 ⋅ 05/23 ⋅ 0

条件判断语句:文件、数值、字符串

可以用test或者[]测试一个条件是否成立,如果测试结果为真,则该命令退出状态为0,如果为假,状态为1 文件测试 格式:test option file 或者[ option file ] -b file 块文件 -c file 字符文件...

虎皮喵的喵 ⋅ 04/09 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 06/19 ⋅ 0

javascript中!=、!==、==、===操作符总结

JavaScript 有两种比较方式:严格比较运算符和转换类型比较运算符。 在相等运算符中对应 、和 、。 先举个栗子 相等操作符()会为两个不同类型的操作数进行类型转换,然后进行严格比较。 严格...

weiqinl ⋅ 05/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

005. 深入JVM学习—Java堆内存参数调整

1. JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张...

影狼 ⋅ 3分钟前 ⋅ 0

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 36分钟前 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 53分钟前 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

mysql的分区和分表

1,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一...

梦梦阁 ⋅ 今天 ⋅ 0

exception.ZuulException: Forwarding error

错误日志 com.netflix.zuul.exception.ZuulException: Forwarding error Caused by: com.netflix.hystrix.exception.HystrixRuntimeException: xxx timed-out and no fallback available. Ca......

jack_peng ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部