前几天在编写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
有空,欢迎到
红番薯逛逛
分享到:
相关推荐
JavaScript 使用误区 本章节我们将讨论 JavaScript 的使用误区。...if 条件语句返回 true (不是我们预期的)因为条件语句执行为 x 赋值 10,10 为 true: var x = 0;if (x = 10) if 条件语句返回 false (不是我们
// 条件1和条件2都不满足时执行的代码块 } ``` 2. **if...else if...else语句的示例**:以下示例用于根据分数给学生评级。 ```javascript var score = 85; var level; if (score >= 80) { level = "优"; }...
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; ...
<c:if test="${user.logged == true}"> 您已登录! </c:if> <c:if test="${user.logged == false}"> 请登录! </c:if> ``` ##### 2. out标签 **out标签**用于输出变量的值或表达式的计算结果,相当于JS中的`...
JavaScript是Web前端开发的核心语言之一,它为网页和应用程序提供了动态交互的能力。在JavaScript中,条件语句是控制程序流程的重要工具,它们允许我们根据不同的条件执行不同的代码块,从而实现逻辑判断和决策。本...
如果 b 的值为 0,那么 if 条件将被认为是 true,执行 console.log 语句。 3. null 类型 在 if 条件中,null 类型的变量将被认为是 false。例如: if (!e) { console.log("e=" + e); } 在上面的代码中,e 是 ...
前者适用于快速原型开发或简单的资源引用,而后者则更适合于大型项目,因为它提供了更好的组织和管理能力,以及动态加载和条件渲染的功能。正确地引用和管理这些资源对于创建高性能、跨浏览器兼容的XPages应用至关...
在这个结构中,程序从上到下依次检查每个`if`和`else if`后面的条件,一旦某个条件为`true`,则执行对应的大括号内的代码,并忽略剩余的`else if`和`else`块。例如: ```javascript let number = 0; if (number > 0...
JS 面向对象编程中 if 语句的判断...在 JavaScript 中,if 语句的判断条件可以是多种类型的,包括变量、函数、数字、字符串、布尔值、null 和 undefined 等。了解这些判断条件可以帮助我们更好地使用 if 语句在编程中。
为使滑块变动时自动回传,需要对下面两个文本框设置属性 AutoPostBack="true" :其自身将变成滑块的文本框,以及保存滑块位置的文本框。为此,需要下面的标记: 复制代码 <asp:TextBox ID="Slider1" runat="server...
在JavaScript的面向对象编程中,`if`语句是一个核心的控制流结构,用于根据条件执行不同的代码块。我们可以使用各种类型的表达式作为`if`语句的判断条件,包括但不限于变量、函数调用、比较运算符、逻辑运算符以及...
更改图表中acp-data的INTERACTIONS中Open Link内 javascript:{if(!window.loadAcp){window.loadAcp = true;let url;$axure.internal($ax => {url = $ax.globalVariableProvider.getVariableValue('AxhubJsLink')});$...
JavaScript是Web开发中不可或缺的一部分,尤其在实现网页与用户之间的交互方面起着核心作用。本文将深入探讨如何利用JavaScript来处理网页键盘事件,使网页具备键盘交互性。 首先,我们需要理解浏览器是如何处理...
这里,`th:if="${testBoolean}"` 检查`testBoolean` 是否为`true`,如果是,则显示对应的`<p>`标签。`th:if="${not testBoolean}"` 使用 `not` 关键字取反,所以如果`testBoolean` 为`true`,则不会显示该段落。`th:...
// 条件 1 和条件 2 同时为 false 时执行的代码 } ``` 考虑一个年龄分类的例子: ```javascript var age = 40; if (age > 17) { alert("成年了"); } else if (age > 30) { alert("人到中年"); } else if (age )...
在JavaScript中操作XML,可以实现动态获取和处理数据,尤其在Web应用程序中非常常见。本教程将深入探讨如何使用JavaScript读取XML信息并进行显示。 首先,我们来看`info.xml`文件,它可能包含类似以下的数据: ```...
- JavaScript 中的布尔值有两种:`true` 和 `false`。 - 用于逻辑判断。 #### 三、语句 **1. if else 语句** - **A) 单项检查:** - 示例: ```javascript if (x > 10) { console.log("x 大于 10"); } ``` ...
- 注意,1和0不被视为布尔值 5. **空值(null)** - 表示变量未定义或为空 6. **类型转换** - 将字符串转换为数字:`parseInt("123")`、`parseFloat("456")` ### JavaScript表达式和运算符 1. **赋值运算符**...
在JavaScript中,`if`语句用于根据指定的条件执行不同的代码块。它可以接受任何能够返回布尔值(`true`或`false`)的表达式作为判断条件。下面我们将详细探讨在JavaScript面向对象编程中,可以用于`if`语句的判断...