iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >javascript判断变量是否相等的方法
  • 706
分享到

javascript判断变量是否相等的方法

2023-06-14 13:06:25 706人浏览 薄情痞子
摘要

这篇文章主要介绍javascript判断变量是否相等的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!判断方法:1、利用相等运算符“==”或者“===”;2、利用数组中的toString()方法;3、利用“Obje

这篇文章主要介绍javascript判断变量是否相等的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

判断方法:1、利用相等运算符“==”或者“===”;2、利用数组中的toString()方法;3、利用“Object.is()”方法;4、先利用“JSON.stringify()”将对象或数组转为字符串类型,然后使用“===”进行相等比较。

判断变量相等的方式

判断变量是否相等,大致有以下一些方式

  • == 以及 ===

  • 利用数组中的toString方法;

  • es6中的Object.is方法;

  • 利用jsON.stringify,转换为String类型来比较;

=====

==为转换类型比较运算符,===为严格比较运算符,在数据类型相同的情况下,使用==一般不会造成问题。

let num = 5;let num2 = 5;num == num2;//truenum === num2;//true

但在数据类型不一致的情况下,==会做一些隐性的类型转换。

let num = 5;let str = '5';num == str;//truenum === str;//false'' == false;//true'' === false;//falsenull == undefined;//truenull === undefined;//false

隐性转换类型可以带来一些便利性,但也有可能造成不易发现的bug,所以还是更推荐使用===来进行比较,这也是TS之所以流行的原因之一。

此外,上面列举的都是基本数据类型的比较,而在用===比较引用类型时,会存在一定的局限性。

let a = {xx: 1};let b = a;a === b;//truelet c = {xx: 1};let d = {xx: 1};c === d;//false

在比较引用类型时,===比较的是变量的引用是否相同,而非值,当引用不同时,就会返回false

由此可见,===并不是一枚无往不利的银弹,在比较对象是否相等时,还需要借助其他更可靠的方法。

Array toString方法

前端后端传参时,后端有时会要求多个参数,隔开,Array toString方法就比较有用了,这一方法也能用作数组比较。

let arr = [1,3,5,7,9];let arr2 = [1,3,5,7,9];arr.toString() === arr2.toString();//true "1,3,5,7,9"

不过也存在一定的局限性,不能用来比较二维及以上的数组、不能包含nullundefinedobjectfunction等,否则容易出错,如下

[1,3,5,[2,4,6]].toString();//"1,3,5,2,4,6"[1,null,undefined,'',2].toString();//"1,,,,2"[{xx:2},window,1,2].toString();//"[object Object],[object Window],1,2"

Object.is方法

Object.is是ES6中新增的方法,与===非常类似,同样用作比较两个值是否相等。

Object.is(1,1);//trueObject.is('str','str');//trueObject.is({},{});//false

不同的是在判断+0-0NaNNaN时的区别。

+0 === -0 //trueNaN === NaN //falseObject.is(+0, -0) //falseObject.is(NaN, NaN) //true

在处理兼容性问题时,polyfill可以这么写。

if (!Object.is) {  Object.is = function(x, y) {    if (x === y) {      // 针对+0 不等于 -0的情况      return x !== 0 || 1 / x === 1 / y;    } else {     // 针对NaN的情况      return x !== x && y !== y;    }  };}

JSON.stringify

JSON.stringify方法用于把对象或者数组转换为一个 JSON字符串,得出的字符串便可以用作对象的比较。

let obj = {name: 'lin', age: 24};let obj2 = {name: 'lin', age: 24};obj === obj2;//falseJSON.stringify(obj) === JSON.stringify(obj2);//true

JSON.stringify弥补了===无法准确比较对象的局限,不过它也有一定的局限性,在遇到undefinedfunction以及symbol值时会忽略。

另外,值得一提的是利用JSON.parseJSON.stringify可实现对象深拷贝,局限性同上。

何时使用它们

不一样的场景可能有不一样的需求,如果只比较基本数据类型,那么===就足够了,如果想“一劳永逸”,那么付出一定的成本使用自定义方法无疑是有必要的。

在日常反复的开发中,还是要多多探索吧。

以上是“javascript判断变量是否相等的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: javascript判断变量是否相等的方法

本文链接: https://www.lsjlt.com/news/271339.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript判断变量是否相等的方法
    这篇文章主要介绍javascript判断变量是否相等的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!判断方法:1、利用相等运算符“==”或者“===”;2、利用数组中的toString()方法;3、利用“Obje...
    99+
    2023-06-14
  • javascript如何判断变量相等
    这篇文章主要介绍javascript如何判断变量相等,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单,检验...
    99+
    2023-06-14
  • javascript怎么判断变量相等
    这篇文章主要介绍“javascript怎么判断变量相等”,在日常操作中,相信很多人在javascript怎么判断变量相等问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript怎么判断变量相等”的疑...
    99+
    2023-06-30
  • java中判断是否相等的方法
    java中的基本数据类型判断是否相等,直接使用”==”就行了,相等返回true,否则,返回false。obj1==obj2 判断是obj1,obj2这两个引用变量是否相等,即它们所指向的对象是否为同一个对象。言外之意就是要求两个变量所指内存...
    99+
    2021-12-14
    java基础 java
  • java判断字符串是否相等的方法
    java判断字符串是否相等的方法:java中字符串的比较:==我们经常习惯性的写上if(str1==str2),这种写法在java中可能会带来问题 example1:String a="abc"; String b="abc"那么a==b将...
    99+
    2016-04-26
    java 字符串
  • js判断两个日期是否相等的方法
    例如:复制代码 代码如下:var date1 = new Date("2013-11-29");var date2 = new Date("2013-11-29");console....
    99+
    2022-11-15
    js 日期 相等
  • java中判断字符串是否相等的方法
    1、java中字符串的比较:==我们经常习惯性的写上if(str1==str2),但是这种写法在java中可能会带来问题。示例:String a="abc";String b="abc"那么a==b将返回true。因为在java中字符串的值...
    99+
    2016-04-20
    java 判断 字符串 相等
  • java判断字符串是否不相等的方法
    判断地址是否相等 用:==Object类作为所有类的超类,而Object类的equals方法是直接比较地址的,源码如下:public boolean equals(Object obj) { return th...
    99+
    2017-12-05
    java
  • JavaScript中判断函数、变量是否存在的方法
    这篇文章主要介绍了JavaScript中判断函数、变量是否存在的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript中判断函数、变量是否存在的方法:1、判断...
    99+
    2023-06-14
  • javascript中怎么判断两个JSON是否相等
    在日常的编程工作中,判断两个 JSON 是否相等是一个非常常见的问题。在 JavaScript 中,我们可以通过比较 JSON 对象中的属性值来确定两个 JSON 是否相等。本文将讨论在 JavaScript 中判断两个 JSON 是否相等...
    99+
    2023-05-14
  • Python中DataFrame判断两列数据是否相等的方法
    目录数据准备方法一:写函数判断方法二:直接判断数据准备 import numpy as np import pandas as pd import json import psyco...
    99+
    2023-05-14
    Python DataFrame判断数据相等 Python DataFrame数据相等
  • javascript怎么判断变量是否定义
    这篇文章给大家分享的是有关javascript怎么判断变量是否定义的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。javascript判断变量是否定义的方法:对象只有被定义才有可能为null,否则为undefine...
    99+
    2023-06-14
  • JavaScript判断两个值相等的方法详解
    目录前言非严格相等严格相等同值零同值总结前言 在 JavaScript 中如何判断两个值相等,这个问题看起来非常简单,但并非如此,在 JavaScript 中存在 4 种不同的相等逻...
    99+
    2022-11-13
  • java判断变量是否为数字的方法介绍
    java判断是否为数字的方法:(推荐:java视频教程)用正则表达式首先要import java.util.regex.Pattern 和 java.util.regex.Matcher public boolean isNumer...
    99+
    2019-04-13
    java基础 java
  • java判断变量是否是int类型的方法介绍
    java中使用instanceof关键字判断是否是int:(推荐:java视频教程)Integer i = 0; if (i instanceof Integer) { System.out.println("haha"); }instan...
    99+
    2021-09-19
    java
  • 在JS中判断两个对象是否相等方法详解
    目录严格相等运算符 (===)对象属性的比较使用 Lodash 等工具库判断两个对象是否相等JSON.stringify 方法使用 Object.is() 方法严格相等运算符 (==...
    99+
    2023-05-19
    js判断 js判断对象 判断对象是否相等
  • java判断文件是否相同的方法
    java判断文件是否相同的方法:计算MD5或SHA-1然后对比判断 // 计算文件的 MD5 值 根据MD5值 判断文件是否是同一个文件 public static String getFileMD5(File file) { ...
    99+
    2016-07-17
    java 文件
  • JavaScript 中如何判断变量是否为数字
    这篇文章将为大家详细讲解有关JavaScript 中如何判断变量是否为数字,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先创建一些测试变量:let&nbs...
    99+
    2022-10-19
  • JavaScript 中怎么判断变量是否为数字
    这篇文章给大家介绍JavaScript 中怎么判断变量是否为数字,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当我们期望一个变量是数字时,对字符串或数组进行操作可能会在代码中导致奇怪的...
    99+
    2022-10-19
  • Java判断变量是否为空问题的方法总结
    目录前言StringUtil.isEmpty()"".equals()同时判断多个字符串是否为空两种判断,哪种性能更好?两种判断,哪种可读性和易于维护性都好总结前...
    99+
    2023-05-17
    java判断变量是否为空的方法 java怎么判断是否为空 java如何判断空值
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作