zoukankan      html  css  js  c++  java
  • 关于js中空值比较和传值的问题

    昨天写导出功能时,有个条件审核状态,其中一个审核状态的key为0,我也是醉了。

    然后我注意到这方面的问题,在网上找了找,我的理解可能有点问题。但是目前也就是这样了,以后在学习吧!

    正文:

    js中各种类型都是有个默认空值的,这个空值转成boolean类型的时候就是false

    null、undefined、0、"" 这些数值都是其对应数据类型上的无效值或空值。还有这五个值作!运算,结果全为:true

    还有如果是json请求传值的话,就是说如果转成string类型的话:

    1  String(undefined) -> "undefined"
    2  String(null) -> "null"
    3  String("") -> ""
    4  String(0) -> "0"
    5  String(false) -> "false"

    这个转换关系在做字符串累加时需要特别的注意。

    相等运算符 (==、!=) 
    如果两表达式的类型不同,则试图将它们转换为字符串、数字或 Boolean 量。 
    NaN 与包括其本身在内的任何值都不相等。 
    负零等于正零。 
    null 与 null 和 undefined 相等。 
    相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值或者(当类型不同时)能被强制转化为上述情况之一,均被认为是相等的。 
    其他比较均被认为是不相等的。 

    恒等运算符 (===、!==) 
    除了不进行类型转换,并且类型必须相同以外,这些运算符与相等运算符的作用是一样的。这个也就是说如果类型不一致。就算是1==="1"都是false

  • 相关阅读:
    Codeforces Round #567 (Div. 2) B. Split a Number
    es界面的分组,求平均值的操作
    es界面的查询命令
    es界面的crud
    WebStorm中自定义文档注释模板
    Vue 正确理解mounted、beforeUpdate、updated三个钩子函数的关系
    oracle分析函数
    vue中时间格式的处理
    vue-router params和query的区别
    vue中的深拷贝理解和实现
  • 原文地址:https://www.cnblogs.com/yd001/p/5698414.html
Copyright © 2011-2022 走看看