温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

javascript如何判断变量相等

发布时间:2021-04-30 14:51:56 来源:亿速云 阅读:202 作者:小新 栏目:编程语言

这篇文章主要介绍javascript如何判断变量相等,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

JavaScript可以做什么

1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。 2.可以处理表单,检验用户的输入,并提供及时反馈节省用户时间。 3.可以根据用户的操作,动态的创建页面。 4使用JavaScript可以通过设置cookie存储在浏览器上的一些临时信息。

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