2016-01-03 15 views
6

私の関数の意図した出力は{"name": "bob", "number": 1}ですが、を返します。どのようにして目的の出力を達成できますか?オブジェクトを返すjavascript関数が返されます。[オブジェクトオブジェクト]

function myfunc() { 
    return {"name": "bob", "number": 1}; 
} 
myfunc(); 
+1

どのように関数が返すのか分かりますか?あなたはコンソールを使っていますか?あなたは結果を警告()していますか? – Blender

+0

私はfreecodecampのコーディングコンソールを使用しています – kilojoules

答えて

7

これは単純な誤解のようです。あなたはオブジェクトを返していますが、オブジェクトのは、[object Object]であり、freecodecampコンソールによって暗黙的に呼び出されています。

Object.prototype.toString()

var o = {}; // o is an Object 
o.toString(); // returns [object Object] 

あなたが簡単にあなたが実際に独自のコードを使用してオブジェクトを返すされていることを確認することができます:あなたはconsole.log(ob.name)をしようとした場合

function myfunc() { 
 
    return {"name": "bob", "number": 1}; 
 
} 
 

 
var myobj = myfunc(); 
 
console.log(myobj.name, myobj.number); // logs "bob 1"

2

はそれが表示されるはずbob

{} JSは、オブジェクトの略語です。 toString()メソッドを使用してオブジェクトを文字列に変換できます。

関連する問題