javascript绝对初学者=停留在函数返回上;“未定义”;
为了锻炼身体,我试着打印出以下图案: 以下是迄今为止的代码:javascript绝对初学者=停留在函数返回上;“未定义”;,javascript,Javascript,为了锻炼身体,我试着打印出以下图案: 以下是迄今为止的代码: var偶数=“#”; var odd=“#”; 变量大小=4; var rowCount=1; var lineLength=1; 函数writeOdd(大小){ while(线宽函数打印(){ 让flag=true; for(设i=0;i
var偶数=“#”;
var odd=“#”;
变量大小=4;
var rowCount=1;
var lineLength=1;
函数writeOdd(大小){
while(线宽函数打印(){
让flag=true;
for(设i=0;i<4;i++){
for(设j=0;j<8;j++){
flag?process.stdout.write(“#”):process.stdout.write(“”);
flag=!flag;
}
flag=!flag;
process.stdout.write('\n');
}
}
打印();
函数打印(){
让flag=true;
for(设i=0;i<4;i++){
for(设j=0;j<8;j++){
flag?process.stdout.write(“#”):process.stdout.write(“”);
flag=!flag;
}
flag=!flag;
process.stdout.write('\n');
}
}
打印();
问题出现在document.write(writeEven(size))
和document.write(writeOdd(size))
writeeEvent
和writeOdd
不显式返回任何内容。当函数不显式返回任何内容时,默认情况下它将返回undefined
。因此,当这些函数返回时,undefined
将传递到文档。write
,并写入屏幕
请注意,document.write(writeOdd(size))
是由内而外进行计算的。首先执行writeOdd(size)
,然后返回。返回值基本上取代了它的位置,给出了document.write(undefined)
。然后执行document.write(undefined)
,并将“undefined”打印到屏幕上
查看返回值的更多信息。问题在document.write(writeEven(size))
和document.write(writeOdd(size))
writeeEvent
和writeOdd
不显式返回任何内容。当函数不显式返回任何内容时,默认情况下它将返回undefined
。因此,当这些函数返回时,undefined
将传递到文档。write
,并写入屏幕
请注意,document.write(writeOdd(size))
是由内而外进行计算的。首先执行writeOdd(size)
,然后返回。返回值基本上取代了它的位置,给出了document.write(undefined)
。然后执行document.write(undefined)
,并将“undefined”打印到屏幕上
查看有关返回值的详细信息。您的函数调用document.write,因此在调用WriteEvent和writeOdd时无需使用它,而且您还缺少一个用于递增行的while循环,并且应该在每个函数中初始化线宽
var偶数=“#”;
var odd=“#”;
变量大小=4;
var rowCount=1;
函数writeOdd(大小){
var lineLength=1;
while(lineLength您的函数调用document.write,因此在调用writeEven和writeOdd时不需要使用它,而且您还缺少一个while循环来增加行数,每个函数中的lineLength都应该初始化
var偶数=“#”;
var odd=“#”;
变量大小=4;
var rowCount=1;
函数writeOdd(大小){
var lineLength=1;
while(lineLength取决于调用第一个函数的时间。如果是在解析页面之后,document.write
会清除之前的所有内容。在所有情况下,请使用DOM操作方法,而不是document.write
。忘记document.write In 2k17;)您正在尝试编写document.write writeEven和writeOdd的返回值,这是未定义的。作为初学者,我认为拥有良好的代码样式很重要。即底部的if
和else
不应像那样缩进,document.write(
)
在中,如果块应该缩进,行长度取决于调用第一个函数的时间。如果是在页面解析之后,文档。write
会清除前面的所有内容。在所有情况下,使用DOM操纵方法,而不是文档。write
忘记文档。write in 2k17;)您正在尝试编写document.write writeEven和writeOdd的返回值,这是未定义的。作为初学者,我认为拥有良好的代码样式很重要。即底部的if
和else
不应像那样缩进,document.write(
)
中的如果
块应缩进,行长度
function print() {
let flag = true;
for(let i = 0; i < 4; i++) {
for(let j = 0; j < 8; j++) {
flag ? process.stdout.write('#') : process.stdout.write(' ');
flag = !flag;
}
flag = !flag;
process.stdout.write('\n');
}
}
print();