2014-09-03 83 views
2

我想了解更多OO JavaScript。我创造了这样的事情:无法访问JS对象中的值

var Player = { 
     player: $('#player'), 
     video: Player.player 
    }; 

    console.log(Player.video); 

console.log回报Uncaught TypeError: Cannot read property 'player' of undefined。我的错误在哪里?

回答

2

您不能引用一个对象时初始化。 解释和建议的解决方案发现here

显示你可能想是这样的:

var Player = new function() { 
    this.player = $('#player'); 
    this.video = this.player; 
}; 

console.log(Player.player); 
0

原因是Player在分配video属性时尚未定义。

var Player = { 
    player: $('#player'), 
    video: Player.player //<- Player is not defined yet. You are defining it right now. 
}; 

尝试创建对象之后设置video属性:

var Player = { 
    player: $('#player')   
}; 
Player.video = Player.player; 

console.log(Player.video); 
+0

我试着写'球员=新的对象()'开头,但它并没有帮助。 – 2014-09-03 11:15:16

+0

试试我刚刚写过的解决方法。 – Claudix 2014-09-03 11:17:28

+0

姆姆。但!当我这样做,然后定义'Player.video = Player.player.get(0)'时,它会返回错误。任何想法为什么? – 2014-09-03 11:20:43