document.write 的输出问题
Output issues with document.write
我正在尝试编写一个 javascript 来计算数组中负数、零数和正数的数量。当我 运行 这个脚本时它说 "ReferenceError: document is not defined"
我不知道如何定义文档,因为我的理解是 document.write 是 node.js 的一部分?让它输出 neg、zero 和 pos 变量的最佳方法是什么?
#!/usr/bin/env node
// Function: counter
// Parameter: -3, -1, 0, 0, 0, 4, 17, 29, 30
// Returns the number of each in the array
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input, zero, neg, pos)
{
switch (input)
{
case (input < 0):
neg++;
break;
case (input == 0):
zero++;
break;
case (input > 0):
pos++;
break;
}
return document.write(neg, zero, pos);
}
counter(input);
所以我使用 console.log 让它工作,但现在输出是错误的。我的开关似乎没有正确评估阵列。无论输入值是多少,它都会打印三个零
#!/usr/bin/env node
// Function: counter
// Parameter: -3, -1, 0, 0, 0, 4, 17, 29, 30
// Returns the number of each in the array
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input, zero, neg, pos)
{
switch (input)
{
case (input < 0):
neg ++;
break;
case (input == 0):
zero ++;
break;
case (input > 0):
pos ++;
break;
}
}
counter(input);
console.log(neg, zero, pos);
您需要对数组中包含的所有元素进行循环,如果您只使用一个参数调用该函数,我建议避免定义其他三个。
密码是:
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input) {
input.forEach(function(ele) {
switch (true) {
case (ele < 0):
neg++;
break;
case (ele == 0):
zero++;
break;
case (ele > 0):
pos++;
break;
}
});
}
counter(input);
console.log(neg, zero, pos);
it is my understanding that document.write is part of node.js?
不,真的不是。 document
object 是浏览器中 DOM 界面的一部分。
您可能想改用 console.log
。
我正在尝试编写一个 javascript 来计算数组中负数、零数和正数的数量。当我 运行 这个脚本时它说 "ReferenceError: document is not defined"
我不知道如何定义文档,因为我的理解是 document.write 是 node.js 的一部分?让它输出 neg、zero 和 pos 变量的最佳方法是什么?
#!/usr/bin/env node
// Function: counter
// Parameter: -3, -1, 0, 0, 0, 4, 17, 29, 30
// Returns the number of each in the array
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input, zero, neg, pos)
{
switch (input)
{
case (input < 0):
neg++;
break;
case (input == 0):
zero++;
break;
case (input > 0):
pos++;
break;
}
return document.write(neg, zero, pos);
}
counter(input);
所以我使用 console.log 让它工作,但现在输出是错误的。我的开关似乎没有正确评估阵列。无论输入值是多少,它都会打印三个零
#!/usr/bin/env node
// Function: counter
// Parameter: -3, -1, 0, 0, 0, 4, 17, 29, 30
// Returns the number of each in the array
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input, zero, neg, pos)
{
switch (input)
{
case (input < 0):
neg ++;
break;
case (input == 0):
zero ++;
break;
case (input > 0):
pos ++;
break;
}
}
counter(input);
console.log(neg, zero, pos);
您需要对数组中包含的所有元素进行循环,如果您只使用一个参数调用该函数,我建议避免定义其他三个。
密码是:
var input = new Array(-3, -1, 0, 0, 0, 4, 17, 29, 30);
var zero = 0;
var neg = 0;
var pos = 0;
function counter(input) {
input.forEach(function(ele) {
switch (true) {
case (ele < 0):
neg++;
break;
case (ele == 0):
zero++;
break;
case (ele > 0):
pos++;
break;
}
});
}
counter(input);
console.log(neg, zero, pos);
it is my understanding that document.write is part of node.js?
不,真的不是。 document
object 是浏览器中 DOM 界面的一部分。
您可能想改用 console.log
。