我是一个新的Javascript编码器,这是我的第一个问题。
我有以下代码:
function calculate() {
var celsius = [12, 45, 99, -40];
for (i=0 ; i<celsius.length; i++) {
document.write("The value is " + celsius[i] + " and is equal to " + count(celsius[i]) + "<br>")
}
}
function count(num) {
var degfarhen = 9/5 * parseFloat(num) + 32;
degfarhen = degfarhen.toFixed(1);
document.write(degfarhen)
}
但发生了这种情况
53.6The value is 12 and is equal to undefined
113.0The value is 45 and is equal to undefined
210.2The value is 99 and is equal to undefined
-40.0The value is -40 and is equal to undefined
在句子之前打印华氏度的值,并且实际上必须打印的位置未定义。
答案 0 :(得分:4)
在函数count
内,您正在调用document.write()
,它将立即写入文档。
因为在另一个document.write
内部(在for循环中)调用它,内部的将在外部之前写入。你已经看到&#34; undefined&#34;因为函数没有返回值。
您需要做的是return degfarhen
结尾count
而不是document.write-ing ..
function count(num) {
// calculation remains the same
return degfarhen;
}
答案 1 :(得分:0)
将document.write(degfarhen)
更改为return degfarhen;