您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章主要介绍“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。