为什么用javascript这个简单的.html文件不起作用?

时间:2015-09-03 05:01:29

标签: javascript html google-chrome

此代码应该有效。为什么不呢?

<!DOCTYPE html>
<body>

<h1> The "^" operator in Javascript </h1>

<p id = "foo"></p>

<script>

function f(){
//vars
var a = 5;
var b = 13;
var c = a ^ b;
var binA = a.toString(2);
var binB = b.toString(2);
var binC = c.toString(2);
var strA = a.toString();
var strB = b.toString();
var strC = c.toString();

//make output string
var lineA = "a = " + strA + " = " binA + ", ";
var lineB = "b = " + strB + " = " binB + ", ";
var lineC = "c = " + strC + " = " binC + ", ";
var outputStr = lineA + lineB + lineC;

//output
document.getElementById("foo").innerHTML = outputStr;

}

f();

// For some reason this shows the contents of the header only

</script>
</body>

我在a,b和c上进行了toString()转换,因为我无法理解为什么输出无法在Google Chrome中显示。我认识到他们不应该是必要的。但我想让代码尽可能地变成犹太人。我已将字符串连接为子字符串,因为在此代码的前一次迭代中,注释掉了&#39; C&#39;字符串连接部分允许&#39; A&#39;和&#39; B&#39;要显示的输出字符串的相关部分。此外,它保持视觉格式规则,我试图用来进行错误检查。

4 个答案:

答案 0 :(得分:2)

更新了代码,您错过了'+'

See this fiddle

var lineA = "a = " + strA + " = " + binA + ", ";
var lineB = "b = " + strB + " = " + binB + ", ";
var lineC = "c = " + strC + " = " + binC + ", ";
var outputStr = lineA + lineB + lineC;

答案 1 :(得分:0)

语法错误,你在binA,binB和binC之前错过了'+'

var lineA = "a = " + strA + " = " + binA + ", ";
var lineB = "b = " + strB + " = " + binB + ", ";
var lineC = "c = " + strC + " = " + binC + ", ";
var outputStr = lineA + lineB + lineC;


当我在ff和chrome

中修复该错误时,输出打印如下
a = 5 = 101, b = 13 = 1101, c = 8 = 1000,

答案 2 :(得分:0)

这是因为你在第24,25和26行的+binAbinB之前错过了binC标记:)你有一些无效的javascript ,它在控制台中抛出错误。

答案 3 :(得分:0)

您在javascript中出现语法错误。用

替换输出字符串块
//make output string
var lineA = "a = " + strA + " = "+ binA + ", ";
var lineB = "b = " + strB + " = "+ binB + ", ";
var lineC = "c = " + strC + " = "+ binC + ", ";
var outputStr = lineA + lineB + lineC;

它适合你。感谢