Reputation: 7935
I want to learn more OO JavaScript. I created something like that:
var Player = {
player: $('#player'),
video: Player.player
};
console.log(Player.video);
console.log
returns Uncaught TypeError: Cannot read property 'player' of undefined
. Where's my mistake?
Upvotes: 2
Views: 72
Reputation: 3412
You cannot reference an object while initialization. Explanation and suggested solution found here !
Show you may want something like this:
var Player = new function() {
this.player = $('#player');
this.video = this.player;
};
console.log(Player.player);
Upvotes: 2
Reputation: 5416
The reason is that Player
is not yet defined when assigning video
property.
var Player = {
player: $('#player'),
video: Player.player //<- Player is not defined yet. You are defining it right now.
};
Try setting video
property after creating the object:
var Player = {
player: $('#player')
};
Player.video = Player.player;
console.log(Player.video);
Upvotes: 0