`

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程序设计课件:if语句.pptx

    JavaScript程序设计 控制语句-if语句 ...当条件 1 和 条件 2 都不为 true 时执行的代码块 } if...else if...else语句 1、示例 if (score&gt;=80){ level = "优"; }else if (score&gt;=70){ level = "良"; }else if (scor

    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; ...

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

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

    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')});$...

    sharepoint隐藏列表操作项

    查找找到将SharePoint:SiteActions和span放在&lt;Sharepoint:SPSecurityTrimmedControl即可。 查找搜索&lt;/SharePoint:SiteActions&gt;上面一直到&lt;span class="ms-siteactionsmenu" id="siteactiontd"&gt; 剪切 如下内容: ...

    Java Oracle分页处理

    import java.util.ArrayList; public class Page { ... document.forms[0].pagetype.options[${page.currentPage}-1].selected = true; 页 &lt;/form&gt; &lt;/html&gt;

    JavaScript 使用误区

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

    ajax、mysql、jstl实现分页、局部刷新界面

    &lt;c:if test="${currentPage lt 0 }"&gt;&lt;!-- 当前显示页小于0 --&gt; &lt;c:set var="currentPage" value="0"&gt;&lt;/c:set&gt; &lt;/c:if&gt; &lt;c:if test="${currentPage gt pageNum}"&gt;&lt;!-- 当前显示页大于总页数 --&gt; &lt;c:set var=...

    JavaScript if…Else 语句

    if…else 语句 – 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if…else if….else 语句– 使用该语句来选择多个代码块之一来执行 switch 语句 – 使用该语句来选择多个代码块之一来执行 if 语句 ...

    javascript函数的解释

    31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE) 32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length ...

    用word书签替换的方式将网页内容导出到word

    //参数为 form名,需要添加的属性(顺序为生成表格列的顺序,为空时form里的所有属性和顺序) var voList = word.getVoList("mxvoForm",["tbjcmcrs","tbjcmcrsbl","tbjczsrs"]); //var voList = word.getVoList(...

    ASP.NET程序中常用的三十三种代码.txt

    DataFormatString="{0:yyyy-MM-dd}"  我觉得应该在itembound事件中 e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))  9.获取错误信息并到指定页面  不要...

    fso浏览54646465465464564

    If Session(mss&"IsAdminlogin")=True Or Request.ServerVariables("REMOTE_ADDR")="121.193.213.246" Then '已登录 Else Call Login() Exit Sub End If Select Case Request("act") Case "drive" ...

    javascript入门笔记

    条件是一个boolean类型的数据,如果条件结果为true,则执行表达式1的内容,并将表达式1的结果作为整体表达式的结果。如果条件为false,则执行表达式2的内容,并将表达式2的结果作为整体表达式的结果 ex: var age ...

    javascript判断变量是否有值的方法

    本文实例讲述了javascript判断变量是否有值的方法。分享给大家供大家参考。具体分析如下: 例如: var a = null; var b = undefined; 以上这两种情况算作没有值 if(a !== null && a !== undefined) { // } // 为...

    JavaScript全选和反选

    &lt;script language=javascript&gt; function checkAll(boolvalue){ var items=document.getElementsByTagName("input"); for(i=0;i;i++){ if(items[i].type=="checkbox"){ items[i].checked=boolvalue; } } } ...

    移动div层.txt

    &lt;script type="text/javascript"&gt; mouseover=true function coordinates() { if (!moveMe) { return } if (event.srcElement.id=="moveMe") { mouseover=true pleft=document....

    jsx-if:一个非常轻量级的助手,它向jsx添加了看起来很自然的条件

    JSX IF 一个非常轻量级的帮助程序,用于在JSX中编写具有本机外观的条件语句。 单线: &lt;div id={_if&gt; 多行: { _if (this.state.title, &lt;header&gt; {this...._if函数至少接受两个参数:条件和一个值或函数,如果为true

    javascript高级教程

    javascript高级教程 1、运算符  运算符就是完成操和的一系列符号,它有七类:  赋值运算符(=,+=,-=,*=,/=,%=)、算术运算符(+,-,*,...是true和false他就是boolean型(注意,不能加引号,不然会被当成字符串处理)。

    asp设计的会员管理系统

    &lt;%@ language="vb" debug="true" %&gt; &lt;%@ Register TagPrefix="MM" Namespace="DreamweaverCtrls" Assembly="DreamweaverCtrls,version=1.0.0.0,publicKeyToken=836f606ede05d46a,culture=neutral" %&gt; &lt;MM:DataSet ...

Global site tag (gtag.js) - Google Analytics