I have an object which has two functions within it, and as I guessed each one has a different value for this:
custom_controls : {
    play_pause : function () {
        console.log(this); // object
        videoPlayer.getIsPlaying(function (video_is_playing) {
            if (video_is_playing) {
                console.log(this); // window
                videoPlayer.pause(true);
            } else {
                videoPlayer.play();
            }
        });
    }
},
Then the function is invoked like this:
custom_controls.play_pause()
I've heard that the way you invoke a function denotes the value of this.
So my question is: What is happening here? What kind of function invocations am I using? And how does each one affect this?
 
     
     
     
     
     
     
    