Jan 22, 2012 JavascriptHacker Says:
Oops my finger slipped.
Oct 25, 2011 evhwolfgang2003 Says:
thanks for talking about the actual programming language without using alert() boxes within the first 15 seconds. Its a YouTube first!
Sep 11, 2011 PawelWysocki Says:
it's good to take advantage of the advantage.
Aug 18, 2011 davea0511 Says:
@Raizdecimal
"Someone please tell him javascript ain't supposed to be Java."
I couldn't agree more. He kept calling certain things "problems" where in fact the problem was that he expected JS to behave like Java. His "workarounds" are actually the way it's supposed to be done in JS. I could say the same thing about Java, calling the massive code just to create a binding a problem ... but I don't because there's a reason why it's done that way in Java, & a reason why JS is done differently.
Aug 18, 2011 davea0511 Says:
"if you think of a function as a class, then __proto__ is on the instance and prototype is on the class"
I think that's what he meant by saying only functions have prototypes ... all objects have prototypes but only functions requires you to associate the prototype.__proto__ with the .prototype of the class. I think he spent way too much time of __proto__ since the "new" constructor takes care of it for you and it's better practice to avoid __proto__ due to dependencies.
Aug 18, 2011 davea0511 Says:
No, you're right that "this" isn't always "window", but it is the root environment variable whatever that is. For a browser it's windows. for server js frameworks it's "process" or "server" etc ... depending on the framework.
Jun 7, 2011 playstationman2 Says:
what do i do whenever i reload my page is get an error:document.body is null anyone can reply to this and tell me what to do?
May 31, 2011 JackBovine Says:
I know him, he's the crazy guy who does crazy things!
May 31, 2011 JackBovine Says:
I know him, he's the crazy guy who crazy things.
Apr 16, 2011 d1995a3 Says:
function hello() alert("Hello");
Mar 29, 2011 win32mfc Says:
Strange. He talks about "__proto__" and "prototype". I've been reading JavaScript: The Definitive Reference (O'Reilly, 2007) and it does not mention "__proto__" at all. It explains that "prototype" is a property of ALL objects; whereas Misko states in the video that "prototype" is only defined for functions. In reading "JavaScript: The Good Parts", page 21, the first sentence under the heading "Prototype" says "Every object is linked to a prototype object from which it can inherit properties"
Mar 14, 2011 DictatorGBb Says:
are browsergames hackable?
Feb 12, 2011 abalde2 Says:
Unlike other videos of the Google tech talks I have seen so far, this one was boring. But thanks for sharing the knowledge anyway.
Feb 2, 2011 Raizdecimal Says:
Someone please tell him javascript ain't supposed to be Java.
(dont know why do still program with this shiit...)
Dec 22, 2010 bacharyou1 Says:
Hello there, that is a good point. I was thinking the same way, even though I am new to JavaScript, but I know many programming laguages.
Aug 3, 2010 spamero2 Says:
I think one thing missing when explaining the Function Closures was that the function will remember its environment in which they were defined.
So the function binds to its scope at the moment of definition rather then to the current variables and their values found in the scope during execution.
That's why the counter and prefix behave little bit like static variables.
I think this makes understanding closures bit more easier... unless I mixed up something terribly
Video Details
Google Tech Talk
July 12, 2010
ABSTRACT
Presented by Misko Hevery.
If you are new to JavaScript and would like to understand how JavaScript works behind the scenes, than this talk is for you. We will look at the core philosophy behind JavaScript objects and how the primitives can be use... More
Google Tech Talk
July 12, 2010
ABSTRACT
Presented by Misko Hevery.
If you are new to JavaScript and would like to understand how JavaScript works behind the scenes, than this talk is for you. We will look at the core philosophy behind JavaScript objects and how the primitives can be used to build up basic OO concepts such as Classes and what it means to instantiate an object. How functions are executed and the rules behind the "this" keyword and what it means to bind functions. How to think about the Asynchronous nature of non-blocking API and what it means for performance and testing. Less
Post a comment
Local Comments (0)
Youtube Comments (27)
isaakiloureiro Says:
Very enlightening stuff, i was starting to hate JS, but i clear my mind ...what i hate its the DOM!
bojanmacura Says:
Excellent vid.
JavascriptHacker Says:
Oops my finger slipped.
evhwolfgang2003 Says:
thanks for talking about the actual programming language without using alert() boxes within the first 15 seconds. Its a YouTube first!
PawelWysocki Says:
it's good to take advantage of the advantage.
davea0511 Says:
@Raizdecimal "Someone please tell him javascript ain't supposed to be Java." I couldn't agree more. He kept calling certain things "problems" where in fact the problem was that he expected JS to behave like Java. His "workarounds" are actually the way it's supposed to be done in JS. I could say the same thing about Java, calling the massive code just to create a binding a problem ... but I don't because there's a reason why it's done that way in Java, & a reason why JS is done differently.
davea0511 Says:
"if you think of a function as a class, then __proto__ is on the instance and prototype is on the class" I think that's what he meant by saying only functions have prototypes ... all objects have prototypes but only functions requires you to associate the prototype.__proto__ with the .prototype of the class. I think he spent way too much time of __proto__ since the "new" constructor takes care of it for you and it's better practice to avoid __proto__ due to dependencies.
davea0511 Says:
No, you're right that "this" isn't always "window", but it is the root environment variable whatever that is. For a browser it's windows. for server js frameworks it's "process" or "server" etc ... depending on the framework.
oscarcollinga Says:
Misleadingly labelled.
lampadasled Says:
puta q pariu
playstationman2 Says:
what do i do whenever i reload my page is get an error:document.body is null anyone can reply to this and tell me what to do?
JackBovine Says:
I know him, he's the crazy guy who does crazy things!
JackBovine Says:
I know him, he's the crazy guy who crazy things.
TheDark12321 Says:
thanks
roshanvid Says:
function orgy @44:44
d1995a3 Says:
function hello() alert("Hello");
win32mfc Says:
Strange. He talks about "__proto__" and "prototype". I've been reading JavaScript: The Definitive Reference (O'Reilly, 2007) and it does not mention "__proto__" at all. It explains that "prototype" is a property of ALL objects; whereas Misko states in the video that "prototype" is only defined for functions. In reading "JavaScript: The Good Parts", page 21, the first sentence under the heading "Prototype" says "Every object is linked to a prototype object from which it can inherit properties"
DictatorGBb Says:
are browsergames hackable?
abalde2 Says:
Unlike other videos of the Google tech talks I have seen so far, this one was boring. But thanks for sharing the knowledge anyway.
Raizdecimal Says:
Someone please tell him javascript ain't supposed to be Java. (dont know why do still program with this shiit...)
bacharyou1 Says:
Hello there, that is a good point. I was thinking the same way, even though I am new to JavaScript, but I know many programming laguages.
spamero2 Says:
I think one thing missing when explaining the Function Closures was that the function will remember its environment in which they were defined. So the function binds to its scope at the moment of definition rather then to the current variables and their values found in the scope during execution. That's why the counter and prefix behave little bit like static variables. I think this makes understanding closures bit more easier... unless I mixed up something terribly