2017-12-04 13 views
0

アスタリスクから三角形を作成するために、buildTriangleとbuildTriangle2という2つの異なる関数を作成しました。 makeLine関数は、三角形の線を作るために使われます。これは私のコードは次のようになります。https://i.stack.imgur.com/QrHxO.pngconsole.logとjavaScriptの戻りの違い

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)

出力は次のようになります。 最初に、2番目の出力の各行の間に最初の出力にスペースがない理由について簡単に質問しました。また、リターンキーを持つ関数がなぜ変数に情報を格納してからそれを返す必要があるのか​​を知りたいだけでしたか?これは、console.logを使用する2番目の関数ではなぜですか?私はこの2つの機能がconsole.logとreturnの違いを説明していると思うので、この質問をしています。また、私はconsole.logとreturnの違いを理解していないので、私は誰かがこれらの関数を使って説明できると考えていました。私はまた、これが自分のために他の初心者に役立つと信じています。

+0

コンソールの行にはパディングがあります。 – epascarello

+0

console.logを呼び出すたびに、新しい行が作成されます。それは開発でのみ使用することを意味します。 console.logとreturnは2つの全く異なるものです。 – Marco

答えて

0

returnは値に何もしないので、あなたが望むものを構築すれば、それを正確に得ることができます。

console.log()は、(主に開発目的のためではありましたが、現在は一般的な出力のためにNode.jsのようなものに)出力するためのものです。

ほとんどの環境では、console.log()は、それ自身の改行を常に含んでいます(他の言語のprintln()の機能に似ています)。

返品には\nが必要です。console.log()ではなく、基本的に各行に1つずつ追加しています。余分に\nを追加すると、空白行が表示されます。

関連する問題