`
hm4123660
  • 浏览: 282370 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:69984
社区版块
存档分类
最新评论

JS条件判断

    博客分类:
  • JS
阅读更多

    JavaScript 是一种可以在浏览器中运行的脚本语言,是一种弱语言(相对于C,C#,JAVA而言),只要是计算机语言就会使用到条件判断式,而JavaScript作为一种“弱”语言,它的条件判断常常令人困惑不解。

 

  例如:

if ('0') 
   alert("'0' is true");
if ('0' == false) 
  alert ("'0' is false");
结果是,两次都 alert 了!那么 '0' 到底是 true 还是 false 呢?

下面我们就来一起探讨js的条件判断

一.单条件判断
undefined-----false
null----------false
0-------------false
"0"-----------true--字符串,非空字符串
""------------false
-1------------true--非0数字
NaN------------false

NaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根。

总结:
在 JavaScript 里,不为空 "" 的字符串、不为 0 的数字、不为 null 的对象、
不为 undefined 的对象属性、不为NaN的布尔型 true反正为false。

二.理解==和===的区别
1. ==会把比较的二者进行类型转换:

2. ===是不会把比较的二者进行类型转换,是string就是string,是number就是number
如: 0 === false; // false, 因为0是number,false是boolean,两者就肯定不相等
     1 === true; // false

JavaScript中undefined==null 
但undefined!==null 
undefined与null转换成布尔值都是false
再深入分析下JS对于标量应用==比较时的情况 
对于相同类型的两个标量的比较,除了NaN比较特殊之外(NaN==NaN返回false),都没什么疑点 
而对于类型不同的两个标量的比较,JS就有一套严格的规则,其规则是,总将两边的值转换成数字,
再看看转换结果数字是否相等 。
将一个简单类型(这里指除undefined与null的值)与一个对象比较时, 
先调用对象的valueOf方法,以期待返回一个标量,如果对象的valueOf方法返回的仍然是一个复合
对象的话 就接着调用对象的toString方法以期待返回一个标量,如果仍然没有返回标量的话,就判为
不相等 如果valueOf或toString方法之一返回一个标量,就用这个标量同==另一边的标量进行比较

总结:
Number,Boolean,String,Undefined这几种基本类型混合比较时,会将其转换成数字再进行比较 
1.基本类型与复合对象进行比较时,会先将复合对象转换成基本类型(依次调用valueOf与toString方法)
再进行比较 。
2.undefined被当成基本类型,undefined转换成数字是NaN,因此undefined与除null之外的其它类型值进
行比较时始终返回false(注意NaN==NaN返回false)
3.null被当成复合对象,由于null没有valueOf与toString方法,因此和除了undefined之外
的其它类型值进行比较时始终返回false

到这里我们就应该能明白开始的例子为什么会alert两次了吧。同时提醒平常开发还可以使用“===",注意
”==“和”===“的区别
3
2
分享到:
评论

相关推荐

    JavaScript条件判断和循环【JavaScript全栈入门教程3】

    JavaScript条件判断和循环【JavaScript全栈入门教程3】

    Javascript判断常用Demo

    如示例代码,限制只允许输入数字和小数点,可以使用条件判断`(event.keyCode||event.keyCode>57)&&(event.keyCode!=46)`来阻止其他键的输入。 6. **checkbox的全选/取消**: 实现复选框全选和取消全选功能,可以...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册六:JS条件语句

    在JavaScript中,条件语句是控制程序流程的重要工具,它们允许我们根据不同的条件执行不同的代码块,从而实现逻辑判断和决策。本篇将深入探讨JavaScript中的条件语句。 首先,最基础的条件语句是`if...else`语句。...

    JS的判断与命令规格

    虽然给定的文件内容与标题描述存在较大偏差,但从JavaScript的角度出发,我们讨论了JS中的条件判断、命令规格(尤其是函数调用),以及JavaScript在数据分析领域的应用。JavaScript作为一门强大的脚本语言,不仅适用...

    JavaScript条件判断_动力节点Java学院整理

    JavaScript中的条件判断是编程中用于基于不同条件执行不同代码块的逻辑结构。其基本语法包括使用if()语句以及可选的else语句进行条件的判断和执行相应的代码分支。本篇文档详细地介绍了JavaScript中条件判断的基础...

    js判断节假日实例代码

    最后,根据以上判断条件,函数会返回相应的结果。虽然在提供的代码中没有显示返回值,但正常情况下,如果日期是节假日、周末或者调休日,函数应返回一个表示非工作日的标识(如字符串 "节假日" 或者 `false`);如果...

    Javascript条件判断使用小技巧总结

    在编写JavaScript代码时,条件判断是经常用到的逻辑结构。本文旨在总结一些在进行条件判断时可用的小技巧,以简化代码和提高编码效率。提到的技巧主要围绕着null值在属性访问时的行为以及如何利用逻辑或(||)和逻辑...

    javascript里的条件判断

    【JavaScript 条件判断】 JavaScript 作为一种动态类型的脚本语言,在条件判断方面与静态类型的编程语言如 C、C# 和 Java 有所不同。在 JavaScript 中,条件判断的使用方式更加灵活,但这也可能导致初学者感到困惑。...

    JavaScript常用判断函数

    该函数通过简单的条件判断实现。首先检查传入的字符串是否为`null`,如果是则直接返回`true`表示为空。接着再检查字符串的长度是否为0,如果是则同样返回`true`。 **示例代码:** ```javascript function IsEmpty...

    javascript常用判断函数

    本文将详细讲解JavaScript中的几个常见判断函数,这些函数可以帮助开发者进行数据类型的检查和验证。 首先,我们来看`DataLength`函数。这个函数的主要功能是计算字符串的长度,但与JavaScript原生的`length`属性...

    js判断图片真实性(非判断文件后缀)

    如果需要支持这些格式,只需在条件判断中添加相应的比较即可。 总之,通过这种方法,前端开发者可以在用户上传图片时提供额外的安全保障,避免非图片文件的误传,从而提高系统的安全性。然而,这种方法并不完美,...

    js利用与或运算符优先级实现if else条件判断表达式

    JavaScript中与或运算符(&&和||)通常用于逻辑判断中,它们不仅用于逻辑与和逻辑或操作,还可以利用其运算符优先级来实现类似if-else条件判断的效果,从而简化代码结构。在JavaScript中,这两个运算符都具有短路...

    js 判断点是否在一个区域里面

    通过调用`crossMul`函数并结合几何条件判断是否相交。 #### 点与多边形检测函数 ```javascript var checkPP = function(point, polygon) { var p1, p2, p3, p4; p1 = point; p2 = {x: -100, y: point.y}; var ...

    js判断当前时间是哪个时间段(早,中,晚).pdf

    3. 接下来的三段条件语句,通过比较`getHours()`返回的小时数,判断当前时间属于哪个时间段。如果小时数在6到11之间,返回"上午好";在12到17之间,返回"下午好";其他情况,返回"晚上好"。 在实际应用中,这个函数...

    javaScript中金额的有效判断

    ### JavaScript中金额的有效判断 在Web开发中,对用户输入的数据进行有效的验证是十分重要的,尤其是在涉及金额的情况下。本文将详细介绍如何在JavaScript中实现对金额的有效判断,包括但不限于空值检查、非数值...

    javascript if条件判断方法小结

    JavaScript中的if条件判断是编程中常用的一种控制流程语句,用于基于不同的条件来执行不同的代码块。当编写代码需要根据不同情况做出决策时,条件语句是非常重要的工具。 在JavaScript中,主要的条件语句包括if语句...

    js判断数组是否相等的方法

    在JavaScript中,判断两个数组是否相等是一个常见的需求,尤其在处理数据比较或者验证时。根据标题和描述,我们可以区分两种不同的场景: 1. **数组完全相等**:在这种情况下,不仅要求数组中的元素相同,而且元素...

    JS中比Switch...Case更优雅的多条件判断写法

    在JavaScript编程中,多条件判断是经常会遇到的需求,通常情况下,开发者会使用if-else if-else语句或者switch-case语句来实现多条件判断。然而,还有一种更优雅且简洁的判断方式,即对象属性判断法。本文将详细解释...

    IF条件判断2.zip

    在HTML文件`IF条件判断2.html`中,可能包含一个示例或教程,展示如何在JavaScript或其他客户端脚本语言中使用IF条件判断。这些语言在网页交互中发挥重要作用,允许动态响应用户操作。 总的来说,IF条件判断是编程和...

Global site tag (gtag.js) - Google Analytics