zoukankan      html  css  js  c++  java
  • javascript中的true和false

    今天遇到一个问题,执行下面的代码返回true还是false?请说明理由

    console.log([] == ![])

    在浏览器中运行了一下,发现结果是true。为什么会这样呢?于是查找了相关的资料。

    在javascript中0,"", null, unbdefined,NaN,false 为false,其他为true

    if(0 || "" || null || undefined || NaN || false) {
      console.log("true")
    }else{
      console.log("false")
    }

    打印结果为false

    特别的,当[]与==或者!=进行使用时,被当作""来进行处理;一个非null或者undefined的对象(包括[])用在布尔表达式中,会被作为true来进行处理。因此![]的结果为false。则[]==![]等价于""==false,因此结果为true。

    下面代码进行验证:

    console.log([]=="") //打印true,说明[]与==使用时被当作""来处理
    if([]==false) console.log("false") //打印false,说明[]与==使用时是false
    if([]) console.log("true") //打印true,说明在逻辑运算中[]被当作true来处理
    console.log(![]) //打印false
  • 相关阅读:
    JS原生带小白点轮播图
    JS原生轮播图
    Vue.js小案例(2)
    Vue.js小案例(1)
    Vuejs入门级简单实例
    Vue.js简单入门
    微信登录oauth2.0
    PHP四维数组、三维数组封装遍历
    常用linux命令30个
    好架构是进化来的,不是设计来的
  • 原文地址:https://www.cnblogs.com/fengxm/p/4112229.html
Copyright © 2011-2022 走看看