【发布时间】:2013-10-13 03:31:16
【问题描述】:
使用下面的代码,特别是看第 2 段...如果 var str = "sting equal test..." + strA,为什么第 2、第 3 行等不输出相同的输出加上他们自己的行?
编辑抱歉没有正确解释 - 我实际上只是想知道为什么这段代码(一旦我清理它)不会重复产生第一行(第二段的),加上我在第二和第三段中所说的任何内容线条等。我不需要它,这只是一个练习,我只是不明白。好像应该的
function init()
{
var strA = "Javascript" === "JAVASCRIPT" ;
var strB = "Javascript" === "Javascript" ;
var flt = 7.5 === 7.5 ;
var intA = 8 !== 8 ;
var intB = 24 > 12 ;
var intC = 24 < 12 ;
var intD = 24 <= 24 ;
var str = "String equality test: " + strA ;
str += "<br>String equality test 2: " + strB ;
str += "<br>Float equality test: " ; + strC ;
str += "<br>Integer inequality test: " + intA ;
str += "<br>Greater than test: " + intB ;
str += "<br>Less than test: " + intC ;
str += "<br>Less than/Equal to test: " + intD ;
document.getElementById( "panel" ).innerHTML = str ;
}
document.addEventListener("DOMContentLoaded" , init , false) ;
所以我得到的输出如下;
字符串相等性测试:假
字符串相等测试 2:true
浮点相等测试:true
整数不等式检验:假
大于测试:true
小于测试:假
小于/等于测试:真
这显然是正确的,我只是不明白如何不输出如下内容,因为我肯定将每一行添加到 var str,即“String equakity test: false
字符串相等性测试:false 字符串相等测试:false 字符串相等测试 2:true 字符串相等测试:false 浮点相等测试:true 字符串相等测试:false 整数不等测试:false 字符串相等测试:false 大于测试:true 字符串相等测试:false 小于测试:false 字符串相等测试:false 小于/等于测试:true
【问题讨论】:
-
为什么第三行有一个神秘的浮动
;? -
^^ 因为没有 strC ?
-
@Jeffman:这是对我的回应,还是对 OP 的回应? DJC:如果您查看您的 Web 开发工具(大多数浏览器中的 F12),他们会告诉您这一点。此外,如果您想将JS Fiddle 放在一起,请按“JS 提示”按钮。
-
@David 两个,我猜。对于 OP,未定义的变量可能是个问题。对你来说,看似流浪;可能是对不存在的值的串联进行短路的错误尝试。
标签: javascript