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

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

正文:

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

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

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

  String(undefined) -> "undefined"
String(null) -> "null"
String("") -> ""
String(0) -> "0"
String(false) -> "false"

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

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

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

关于js中空值比较和传值的问题的更多相关文章

  1. js中 函数参数的 传值/传引用 问题

    如果  传入function的参数是  (数值.字符串.布尔值) 此时是以 传值 的方式 进行. 如果  传入function的参数是  (数组.对象.其他函数) 此时是以 传引用 的方式 进行. 1

  2. 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

    一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...

  3. js中的undefined与null、空值的比较

    最近在修改一个项目,总是报Js错误: 无法获取属性“length”的值: 对象为 null 或未定义 点开调试之后,惊奇的发现markerArr的值是undefined 所以我就将代码改成如下形式: ...

  4. 解决js中传值,Action获取是乱码问题

    1.先在js中进行编码 var str = $("mytext").val(); //转码,两次 str = encodeURI(str); str = encodeURI(str ...

  5. JS 中判断空值 undefined 和 null

    1.JS 中如何判断 undefined JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正 ...

  6. 当Thymeleaf遇到向js中传值的操作

    在使用Thymeleaf的时候.关于一些点击操作非常头疼.往往需要向JS里面传递各种东西. 然而,在用Thymeleaf的时候.js操作需要拼接语句.但是又不好拼接. 关于一些操作,一般也是在表格中. ...

  7. JS 中没有按地址(引用)传递,只有按值传递

    很多人,包括我,受书本知识消化不彻底的影响,认为 JS 中参数有两种传递方式:数字.字符串等按值传递:数组.对象等按地址(引用)传递.对此种观点,我们要谨慎. var v1 = [] var v2 = ...

  8. JS调用OC方法并传值,OC调用JS方法并传值////////////////////////zz

     iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码)     最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点 ...

  9. 关于JS中作用域的销毁和不销毁的情况总结

    window全局作用域->页面关掉才销毁函数执行会形成私有的作用域 1)作用域的销毁 一般情况下,函数执行形成一个私有的作用域,当执行完成后就销毁了->节省内存空间 2)作用域的不立即销毁 ...

随机推荐

  1. Linux学习 :中断处理机制 & poll机制

    中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务 的程序中去,服务完毕后再返回去继续运行被暂时中断的程序 ...

  2. doctype声明的重要性-------这绝对是ie的坑, 与angular无关, 我错怪你啦

    今天开发一个页面,  自己写页面, 自己实现功能. 因为以往需求都没有要求兼容ie9, 所以并未发现此坑. 今天就记录下来. 贴图对比 ie9 chrome 如图, ie9界面显示错误. 起初以为是a ...

  3. 黑马程序员——C语言基础 函数

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...

  4. Hadoop示例程序WordCount详解及实例(转)

    1.图解MapReduce 2.简历过程: Input: Hello World Bye World Hello Hadoop Bye Hadoop Bye Hadoop Hello Hadoop M ...

  5. Total Commander 8.52 Beta 1

    Total Commander 8.52 Beta 1http://www.ghisler.com/852_b1.php 10.08.15 Release Total Commander 8.52 b ...

  6. fatal error: 'XCTest/XCTest.h' file not found

    这个报错在几个方面.第一,它导致XCTedt依赖您的应用程序.框架,它只是在Xcode中可用.第二,你使用绝对路径,这并不保证是相同的从Mac Mac(例如,如果你安装了多个版本的Xcode). 这里 ...

  7. 玩转mysql-5.7.9-winx64.zip解压版

    解压zip文件,放到D盘 追加\bin到Path环境变量 修改my-default.ini,# basedir =D:\mysql_5.7.9_winx64# datadir =D:\mysql_5. ...

  8. JSP 新闻发布会

    ---恢复内容开始--- 首先 新闻发布会结合了JSP里的Servlet和request对象,response对象还有使用session对象和cookie对象跟踪用户信息等等..... 列表 登陆 这 ...

  9. JS在火狐浏览器下如何关闭标签?

    首先,要确定火狐设置是否允许通过JS代码window.close()方法关闭标签. 确定方式如下: 在Firefox地址栏里输入 about:config 在配置列表中找到dom.allow_scri ...

  10. Eclipse下.project和.classpath作用(转)

    classpath作用 定义项目的结构,如src.output.con.lib等. 源文件的具体位置(kind="src") 运行的系统环境(kind="con" ...