所以我创建了两个不同的函数来构建星号中的三角形:buildTriangle和buildTriangle2。 makeLine函数仅用于制作三角形中的线条。这就是我的代码:
function makeLine(length) {
var line = "";
for (var j = 1; j <= length; j++) {
line += "* "
}
return line + "\n";
}
// This is the build triangle function with the return key
function buildTriangle(triWidth) {
var y = ""
for(var i = 0; i <= triWidth; i++) {
y += makeLine(i)
}
return y;
}
console.log(buildTriangle(10))
// This is the build triangle function with console.log
function buildTriangle2(triWidth) {
for(var i = 0; i <= triWidth; i++) {
console.log(makeLine(i));
}
}
buildTriangle2(10)
&#13;
输出如下:https://i.stack.imgur.com/QrHxO.png。 首先,我刚才有一个简单的问题,为什么第二个输出中的每一行之间有空格而第一个输出中没有空格。另外,我只是想知道为什么带返回键的函数需要先将信息存储在变量中然后返回它?为什么在使用console.log的第二个函数中不是这种情况?我问这个问题,因为我认为这两个函数说明了console.log和return之间的区别。此外,由于我不理解console.log和return之间的区别,我希望有人可以通过使用这些函数来解释它。我也相信除了我自己之外,这将有助于其他初学者。
答案 0 :(得分:0)
return
没有对价值做任何事情,所以你建立了你想要的东西,你就得到了。
console.log()
用于输出内容(主要用于开发目的,但现在使用Node.js,也用于常规输出)。
在大多数环境中,console.log()
始终会在其上添加换行符(与其他语言println()
功能类似)。
这就是为什么你需要\n
作为回报,而不是console.log()
,因为它基本上是为你添加一行。如果您自己添加额外的\n
,您最终会得到一个空行。