`

Javascript:if(0=='')条件为true (注意==和===的区别)

阅读更多
     前几天在编写javascript脚本代码时,发现if判断语句:if(v=='')当v为0时,其结果竟然为true,如:
<script type="text/javascript"
>
if(0 == '') {
 document.write('我操,蛋疼<br/>');
}
if(0 == false) document.write('yes'); 
</script>

执行结果为:
我操,蛋疼
yes

后面的if(0 == false) document.write('yes'); 是Ricki假设==在处理不同类型数据的比较时,先转换为布尔类型后再进行比较的测试,后来看了Javascript的帮助文档,发现假设是正确的。如(以下内容摘自帮助文档):

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

恒等运算符 (===、!==)
除了不进行类型转换,并且类型必须相同以外,这些运算符与相等运算符的作用是一样的。

如把上面的第一个==改为===,则结果为:
yes

有空,欢迎到红番薯逛逛
0
0
分享到:
评论

相关推荐

    JavaScript 使用误区

    JavaScript 使用误区 本章节我们将讨论 JavaScript 的使用误区。...if 条件语句返回 true (不是我们预期的)因为条件语句执行为 x 赋值 10,10 为 true: var x = 0;if (x = 10) if 条件语句返回 false (不是我们

    JavaScript程序设计课件:if语句.pptx

    // 条件1和条件2都不满足时执行的代码块 } ``` 2. **if...else if...else语句的示例**:以下示例用于根据分数给学生评级。 ```javascript var score = 85; var level; if (score &gt;= 80) { level = "优"; }...

    eclipse-testng 离线包下载

    background-color: #e0e0e0; font-size: 12px; width: 100%; vertical-align: top; } .suiteStatusPass, .suiteStatusFail { padding-right: 20px; width: 20px; height: 20px; margin: 2px 4px 2px 2px; ...

    JS简单标签及相关的应用

    &lt;c:if test="${user.logged == true}"&gt; 您已登录! &lt;/c:if&gt; &lt;c:if test="${user.logged == false}"&gt; 请登录! &lt;/c:if&gt; ``` ##### 2. out标签 **out标签**用于输出变量的值或表达式的计算结果,相当于JS中的`...

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

    JavaScript是Web前端开发的核心语言之一,它为网页和应用程序提供了动态交互的能力。在JavaScript中,条件语句是控制程序流程的重要工具,它们允许我们根据不同的条件执行不同的代码块,从而实现逻辑判断和决策。本...

    js中各种类型的变量在if条件中是true还是false.docx

    如果 b 的值为 0,那么 if 条件将被认为是 true,执行 console.log 语句。 3. null 类型 在 if 条件中,null 类型的变量将被认为是 false。例如: if (!e) { console.log("e=" + e); } 在上面的代码中,e 是 ...

    JS动态加载以及JavaScriptvoid(0)的爬虫解决方案.docx

    ### JS动态加载及JavaScriptvoid(0)爬虫解决方案详解 #### 一、引言 随着Web前端技术的发展,越来越多的网站开始采用JavaScript动态加载技术来提高用户体验和减轻服务器负担。然而,这种技术也给网络爬虫带来了新...

    domino xpages开发 引用JS和CSS

    前者适用于快速原型开发或简单的资源引用,而后者则更适合于大型项目,因为它提供了更好的组织和管理能力,以及动态加载和条件渲染的功能。正确地引用和管理这些资源对于创建高性能、跨浏览器兼容的XPages应用至关...

    javascript 分支结构if()结构.md

    在这个结构中,程序从上到下依次检查每个`if`和`else if`后面的条件,一旦某个条件为`true`,则执行对应的大括号内的代码,并忽略剩余的`else if`和`else`块。例如: ```javascript let number = 0; if (number &gt; 0...

    最新js面向对象编程:if中可以使用那些作为判断条件呢?.pdf

    JS 面向对象编程中 if 语句的判断...在 JavaScript 中,if 语句的判断条件可以是多种类型的,包括变量、函数、数字、字符串、布尔值、null 和 undefined 等。了解这些判断条件可以帮助我们更好地使用 if 语句在编程中。

    如何使用滑块控件可以在滑块的值变动时使滑块自动回传。

    为使滑块变动时自动回传,需要对下面两个文本框设置属性 AutoPostBack="true" :其自身将变成滑块的文本框,以及保存滑块位置的文本框。为此,需要下面的标记: 复制代码 &lt;asp:TextBox ID="Slider1" runat="server...

    最新js面向对象编程:if中可以使用那些作为判断条件呢?.docx

    在JavaScript的面向对象编程中,`if`语句是一个核心的控制流结构,用于根据条件执行不同的代码块。我们可以使用各种类型的表达式作为`if`语句的判断条件,包括但不限于变量、函数调用、比较运算符、逻辑运算符以及...

    javascript网页键盘交互式代码

    JavaScript是Web开发中不可或缺的一部分,尤其在实现网页与用户之间的交互方面起着核心作用。本文将深入探讨如何利用JavaScript来处理网页键盘事件,使网页具备键盘交互性。 首先,我们需要理解浏览器是如何处理...

    Thymeleaf中th:each及th:if使用方法解析

    这里,`th:if="${testBoolean}"` 检查`testBoolean` 是否为`true`,如果是,则显示对应的`&lt;p&gt;`标签。`th:if="${not testBoolean}"` 使用 `not` 关键字取反,所以如果`testBoolean` 为`true`,则不会显示该段落。`th:...

    AxhubChartsProV1.0.8.rar.zip

    更改图表中acp-data的INTERACTIONS中Open Link内 javascript:{if(!window.loadAcp){window.loadAcp = true;let url;$axure.internal($ax =&gt; {url = $ax.globalVariableProvider.getVariableValue('AxhubJsLink')});$...

    JavaScript程序设计-条件语句.pdf

    // 条件 1 和条件 2 同时为 false 时执行的代码 } ``` 考虑一个年龄分类的例子: ```javascript var age = 40; if (age &gt; 17) { alert("成年了"); } else if (age &gt; 30) { alert("人到中年"); } else if (age )...

    XML.rar_javascript_xml

    在JavaScript中操作XML,可以实现动态获取和处理数据,尤其在Web应用程序中非常常见。本教程将深入探讨如何使用JavaScript读取XML信息并进行显示。 首先,我们来看`info.xml`文件,它可能包含类似以下的数据: ```...

    JavaScript完全教程

    - JavaScript 中的布尔值有两种:`true` 和 `false`。 - 用于逻辑判断。 #### 三、语句 **1. if else 语句** - **A) 单项检查:** - 示例: ```javascript if (x &gt; 10) { console.log("x 大于 10"); } ``` ...

    JSP网站开发学习技术笔记

    - 注意,1和0不被视为布尔值 5. **空值(null)** - 表示变量未定义或为空 6. **类型转换** - 将字符串转换为数字:`parseInt("123")`、`parseFloat("456")` ### JavaScript表达式和运算符 1. **赋值运算符**...

Global site tag (gtag.js) - Google Analytics