溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript怎么判斷變量相等

發布時間:2022-05-11 16:39:15 來源:億速云 閱讀:143 作者:iii 欄目:編程語言

這篇文章主要介紹“javascript怎么判斷變量相等”,在日常操作中,相信很多人在javascript怎么判斷變量相等問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript怎么判斷變量相等”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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怎么判斷變量相等”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女