2014-11-09 17 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" 

对象或实例类与其构造函数功能是不同的东西。