2015-12-15 71 views
-4

根据我这是唯一的存在,如果你需要调用构造函数像下面使用此关键字的对象字面的JavaScript

var dogObj = function(){ 
    this.bark = "woof"; 
} 

var dog1 = new dogObj(); 
console.log(dog1.bark); 

是否有一个地方我用这对对象字面任何情况下使用?

var bark = { 
    this.bark = "dog" 
} 

以上代码是否有效?如果是,我怎么称呼它?

+2

*“以上代码有效吗?”*运行它!了解对象:http://eloquentjavascript.net/04_data.html。 –

+0

我相信你正在寻找'var o = {msg:'hello world',fn:function(){alert(this.msg)}}; o.fn();' – Ultimater

+0

@Ultimater也许?但为什么使用这种方法比较构造?我是asp.net编码器。 –

回答

2

可以使用

var bark = { 
    bark : "dog" 
} 

,并调用它像

console.log(bark.bark) 
+0

所以在JavaScript中使用constructer有什么意义? –

+0

要获得类行为 – ozil

+1

@JenniferAniston:如名称所示,如果需要*构造*具有相同结构的多个对象,这将非常有用。 –

0
this.bark = "woof"; 

无效。

你必须尝试像下面

var dog = { 
    bark : "dog" 
} 

,然后一旦你形成任何json字符串,则可以使用http://jsonlint.com/只需将您的json字符串验证刺痛,点击就可以访问诸如console.log(dog.bark)

验证。