2016-01-03 32 views
6

Đầu ra dự định của hàm của tôi là {"name": "bob", "number": 1}, nhưng trả về [object Object]. Làm thế nào tôi có thể đạt được kết quả mong muốn?hàm javascript trả về đối tượng trả về [đối tượng đối tượng]

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

Làm cách nào để bạn biết hàm trả về? Bạn đang sử dụng bàn điều khiển? Bạn có 'alert()' ing kết quả không? – Blender

+0

Tôi đang sử dụng bảng điều khiển mã hóa của freecodecamp – kilojoules

Trả lời

7

Haha điều này có vẻ là một sự hiểu lầm đơn giản. Bạn đang trả về đối tượng, nhưng phương thức toString() cho một đối tượng là [object Object] và nó đang được ngầm gọi bởi bảng điều khiển freecodecamp.

Object.prototype.toString()

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

Bạn có thể dễ dàng xác minh bạn thực sự được trả lại một đối tượng sử dụng mã của riêng bạn:

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

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

2

Nếu bạn cố gắng console.log(ob.name) nó sẽ hiển thị bob

{} trong JS là viết tắt của một đối tượng. Bạn có thể chuyển đổi đối tượng thành chuỗi bằng cách sử dụng phương thức toString().

Các vấn đề liên quan