2014-11-09 15 views
-1

我有OBJ與主要的定義 -中的console.log消失變量名()

var Row = function Row() { 
      this.a = 1 ; 
     } 
console.log(new Row()); 

當我執行它,我在控制檯中 -

Row {a: 1} 

我怎麼能得到相同但沒有變量名稱,意思是 -

{a: 1} 

我使用Chrome,它是否取決於瀏覽器?

Here Demo

+4

你爲什麼要這樣?你爲什麼關心'console.log()'如何打印它的數據?如果您想將對象轉換爲JSON,請使用'JSON.stringify()' – Sacho 2014-11-09 01:43:12

回答

0

'行' 在前面指定的類型。在你的情況下,你已經命名了你的函數'Row',這就是爲什麼你在日誌中看到'Row'的原因。這是爲了讓你更容易地調試你的程序,它不應該對你造成任何傷害。

var Row = function() { 
    this.a = 1; 
} 

var myRow = new Row(); 
myRow.a // this will give you your 'a' 
0

我不知道如果我的理解,但這裏:

function Row() { 
    this.a = 1 ; 
} 

是構造(函數塔 「創建對象」),所以當你打電話

console.log(new Row()); 

你正在創建一個「Row」的實例並登錄到javascript的控制檯。 所以

var Row = function Row() ... 

被定義「行」 類並將其分配給 行變量聲明。

您可以使用JavaScript的對象文字並在窗體創建匿名對象:

{key: value} 

例如:

var foo = {a:10, b:20, c:30} 

和訪問它

console.log(foo.a); // will log "10" 

對象或實例類與其構造函數功能是不同的東西。