• 技术文章 >Web开发 >JavaScript

    javascript判断变量相等的方法整理

    小妮浅浅小妮浅浅2021-07-21 09:57:00原创3805

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

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

    2、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"

    3、isEqual函数可以判断绝大部分复杂对象(除了对象中有函数的)

    function isObject(obj) {
      return typeof obj === 'object' && obj !== null
    }
     
    function isEqual(a, b) {
      if (a === b) return true
      var isObjectA = isObject(a)
      var isObjectB = isObject(b)
      if (isObjectA && isObjectB) {
        try {
          var isArrayA = Array.isArray(a)
          var isArrayB = Array.isArray(b)
          if (isArrayA && isArrayB) { // a b都是数组
            return a.length === b.length && a.every((el, index) => isEqual(el, b[index]))
          } else if (a instanceof Date && b instanceof Date) { // a b都是Date对象
            return a.getTime() === b.getTime()
          } else if (!isArrayA && !isArrayB) { // 此时a b都是纯对象
            var keyA = Object.keys(a)
            var keyB = Object.keys(b)
            return keyA.length === keyB.length && keyA.every(key => isEqual(a[key], b[key]))
          } else {
            return false
          }
        } catch (e) {
          console.log(e)
          return false
        }
      } else if (!isObjectA && !isObjectB) { // a b 可能是string,number,boolean,undefined中的一种
        return String(a) === String(b)
      } else {
        return false
      }
    }

    以上就是javascript判断变量相等的方法整理,希望对大家有所帮助。更多Javascript学习指路:Javascript

    推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

    专题推荐:javascript
    品易云
    上一篇:javascript字符串类型的转换 下一篇:Js值传递和引用传递的不同

    相关文章推荐

    • javascript中事件是什么• javascript常用框架有哪些• javascript中作用域是什么• javascript中dom介绍• JavaScript创建数组并赋值• JavaScript创建数组求和• JavaScript二维数组添加元素• javascript中dom是什么• JavaScript 输出数据的方式有哪些• javascript文字滚动特效• javascript中如何设置鼠标特效• JavaScript中jquery框架的特点• javascript中this是什么意思• javascript字符串类型的转换

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网