這篇文章主要介紹“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怎么判斷變量相等”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。