网站建设资讯

NEWS

网站建设资讯

javascript怎么判断变量相等

这篇文章主要介绍“javascript怎么判断变量相等”,在日常操作中,相信很多人在javascript怎么判断变量相等问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript怎么判断变量相等”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为明山企业提供专业的做网站、网站制作明山网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

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怎么判断变量相等
文章链接:http://cdweb.net/article/gdsjji.html