簡體   English   中英

為什么使用JavaScript的簡單.html文件不起作用?

[英]Why does this simple .html file with javascript not work?

此代碼應該起作用。 為什么不呢?

<!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中顯示。 我認識到它們沒有必要。 但是我想使代碼盡可能的簡潔。 我將字符串串聯為子字符串,因為在此代碼的上一迭代中,注釋掉字符串串聯的'C'部分可以顯示輸出字符串的'A'和'B'相關部分。 另外,它使視覺格式保持規則,這是我嘗試用於錯誤檢查的格式。

更新了代碼,您錯過了“ +”號

看到這個小提琴

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

語法錯誤,您在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,

這是因為您在第24、25和26行的binAbinBbinC之前缺少+ :)您有一些無效的javascript,並且在控制台中引發了錯誤。

您在javascript中出現語法錯誤。 將輸出字符串塊替換為

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

它將為您工作。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM