`

javascript数据类型比较的那些坑

阅读更多

1.严格等于

“1.23”===1.23;//false 严格等于会先检查类型是否相等,再比较值

 

2.“==”的隐式转换:

  • 将其它类型转换为数字:num-0,如果不能转换则转换为为NaN
    例如,new Object-0;//NaN
    “66”-0;//66
    “likeke”-0;//NaN
  • 其它类型转换为字符串num+””
    例如true+"";//”true”
    new Object+"";//"[object Object]"
  • 特殊情况
    NaN==NaN;//false
  • 对象比较
    {}=={};// false
    [1,2]==[1,2];// false 因为不是同一个对象,当然[]!=[]结果为true
    只有定义一个变量a={};a==a,此时才为true
  • boolean== ? 都会将boolean转换为数字再与右边的值做比较,而不是将数字转换为boolean
    例如true==1为true,而true==2为false;
  • object==number 会将object转换为基本类型
    例如new String("666")=="666";//true
  • 一般情况

    null==undefined;//true

    number==string 会将字符串转换为数字再进行比较
    "666"==666;//true
    NaN=="likeke";//false, 因为NaN不等于NaN

1
0
分享到:
评论

相关推荐

    blateyang#FrontEndNotes#JS数据类型检测的坑和通用检测方法1

    1前言提起JS的数据类型检测,大多数搞前端的朋友都知道有typeof和instanceof两个关键字可以用,其实还有另外2个方法constructor和Obje

    JavaScript语言精粹 pdf

    - **变量与数据类型**:理解变量的作用域,掌握各种数据类型(如字符串、数字、布尔值、数组、对象)的特点和用法。 - **函数**:学会如何定义和调用函数,理解闭包的概念及其应用场景。 - **控制结构**:掌握条件...

    JavaScript语言精粹.pdf

    1. JavaScript语言基础:这部分内容可能包括JavaScript语言的基本语法、数据类型、操作符、控制结构和函数等基础概念。 2. 对象与原型链:JavaScript是一种基于原型的语言,掌握对象和原型链的使用是深入理解...

    自己收集JavaScript教程、源码、例子、注意点

    JavaScript教程通常会涵盖语法基础,如变量、数据类型、控制结构(如if语句和循环)、函数、对象和类等。同时,也会讲解DOM操作,事件处理,以及AJAX异步通信等关键概念。在学习教程时,要注重实践,通过编写简单的...

    ArcGIS API for JavaScript4.10加载高德地图

    在本文中,我们将深入探讨如何使用ArcGIS API for JavaScript 4.10版本来加载高德地图,并结合高德地图的影像数据,实现自定义的GaodeMapLayer模块。ArcGIS API for JavaScript是一个强大的Web GIS开发工具,它允许...

    JavaScript10分钟速成(js-in-ten-minutes).pdf

    一、变量和数据类型 * JavaScript 中有两种类型的变量:基本类型(primitive)和对象类型(object)。 * 基本类型包括数字、字符串、布尔值、null 和 undefined 等。 * 对象类型包括对象、数组、函数等。 二、函数...

    JavaScript_为忙碌的工程师准备前端面试材料.zip

    - 数据类型(原始类型与引用类型,如Number、String、Boolean、Null、Undefined、Symbol、Object) - 运算符(算术、比较、逻辑、三元运算符) - 控制流程(if...else、switch、for、while、do...while) - 函数...

    弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】

    JavaScript是一种弱类型的语言,这意味着在声明变量或使用变量时,不需要明确指定其数据类型。然而,这种灵活性也带来了一些常见的陷阱,特别是在开发过程中需要注意。以下是一些实例,展示了JavaScript中的这些常见...

    4你不懂JS_类型与文法

    原生类型是指JavaScript语言本身提供的基础数据类型,例如Number、String、Boolean等。强制转换是指在JavaScript中,某些操作或表达式会自动或强制将一种类型转换为另一种类型,这是JavaScript中一个容易被忽视且...

    基于js粘贴事件paste简单解析以及遇到的坑

    `items`属性的每个`DataTransferItem`都有`kind`和`type`两个属性,`kind`区分数据类型(如`string`或`file`),`type`指明具体的数据格式(如MIME-Type)。通过`getAsFile()`方法可以获取文件数据,而`getAsString...

    对象题目的一个坑 理解Javascript对象

    在JavaScript中,对象是一种复合数据类型,它将很多值(原始值或者其他对象)聚合在一起,可以通过名称访问这些值。对象通过键值对来存储数据。然而,当我们使用对象作为键(属性名)时,JavaScript引擎会调用该对象...

    JavaScript数组全解密

    数组是一种非常重要的数据类型,它语法简单、灵活、高效。在多数编程语言中,数组都充当着至关重要的角色,以至于很难想象没有数组的编程语言会是什么模样。特别是JavaScript,它天生的灵活性,又进一步发挥了数组的...

    小程序兼容安卓和IOS数据处理问题及坑

    开发者需要根据实际的后端接口要求,选择合适的请求方法和`Content-Type`,并做好数据类型的检查和处理。 #### 后端接口返回数据不一致 在开发过程中,开发者可能会遇到后端接口返回的数据在不同平台上表现不一致...

    前端工程师手册.pdf

    * 数据类型、JavaScript 异步编程、常见的异步模式、Promise 规范、Promise 实战、Async 控制异步流程 * EventProxy 控制异步流程、JSDeferred 控制异步流程、JavaScript 正则表达式 jQuery 相关 * jQuery 事件...

    帮助避免错误的Javascript陷阱清单

    Javascript有三种基本数据类型:数字(numbers)、字符串(strings)和布尔值(booleans),以及其他两个特殊值 "undefined" 和 "null"。尽管它们看起来相似,但在Javascript中它们代表着不同的意思。对于 `==` ...

    12种不宜使用的Javascript语法整理

    因此,推荐使用三等号和三不等号,它们会同时比较值和数据类型,避免了类型转换带来的问题。 2. 不推荐使用with语句 with语句的目的是为了简化对象属性访问,它可以让代码更加简洁。但是,with语句会导致代码执行时...

    PitPandaProduction:坑熊猫

    1. **基础语法**:包括变量声明(var, let, const)、数据类型(字符串、数字、布尔、对象、数组等)、控制流(条件语句、循环语句、函数等)。 2. **DOM操作**:通过JavaScript访问和修改HTML元素,如document....

    qml二维码生成

    关于"网上的资料坑的不少,连个图片刷新都有坑",这可能指的是在生成二维码并将其显示在QML界面上时遇到的问题。在QML中,通常会使用Image组件来显示图片。如果二维码是动态生成的,可能需要自定义一个ImageProvider...

    坑01

    在JavaScript编程中,"坑01"通常指的是开发者在学习或实践中可能会遇到的常见问题或陷阱。虽然没有具体的描述给出,但我们可以从JavaScript的基础到高级特性来探讨一些常见的编程陷阱,帮助你避免这些"坑"。 1. **...

    学习Angular中作用域需要注意的坑

    JavaScript中有两种数据类型:基本类型(如Number、String、Boolean)和引用类型(如Object)。基本类型存储在栈中,是值的直接拷贝;而引用类型存储在堆中,其值是指向堆中对象的引用。当在不同作用域中操作基本...

Global site tag (gtag.js) - Google Analytics