the 'new' keyword in javascript

16

Upload: chris-bateman

Post on 15-Jan-2015

74 views

Category:

Software


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: The 'New' Keyword in JavaScript
Page 2: The 'New' Keyword in JavaScript
Page 3: The 'New' Keyword in JavaScript
Page 4: The 'New' Keyword in JavaScript
Page 5: The 'New' Keyword in JavaScript

var simpleObject = { a: 'a' };

{ a: 'a' }

simpleObject.toString(); // um, where does this function come from?

Page 6: The 'New' Keyword in JavaScript
Page 7: The 'New' Keyword in JavaScript

var simpleObject = { a: 'a' };

{ a: 'a', __proto__: { ... toString: function, hasOwnProperty: function, ... } }

Page 8: The 'New' Keyword in JavaScript

var Demo = function() { ... }; Demo.prototype.doSomething = function() { ... };

Page 9: The 'New' Keyword in JavaScript

var Demo = function() { this.prop = 'text'; }; Demo.prototype.action = function() { alert(this.prop); };

var myDemo = Demo(); myDemo; // undefined myDemo.action() // ERROR window.prop; // 'text'

Page 10: The 'New' Keyword in JavaScript

var Demo = function() { this.prop = 'text'; }; Demo.prototype.action = function() { alert(this.prop); };

var myDemo = Demo(); myDemo; // { prop:'a', action:function } window.prop; // undefined myDemo.action(); // alerts "text"

Page 11: The 'New' Keyword in JavaScript

var Demo = function() { this.prop = 'text'; }; Demo.prototype.action = function() { alert(this.prop); }; var myDemo = new Demo();

Page 12: The 'New' Keyword in JavaScript

var Demo = function() { this.prop = 'text'; }; Demo.prototype.action = function() { alert(this.prop); }; var myDemo = new Demo();

Page 13: The 'New' Keyword in JavaScript

Page 14: The 'New' Keyword in JavaScript

Object.create(myProtoObject);

var obj = Object.create(null); // returns { } obj.toString(); // ERROR

Page 15: The 'New' Keyword in JavaScript

var Demo = function() { this.prop = 'text'; }; Demo.prototype.action = function() { alert(this.prop); }; var myDemo = new Demo();

var Demo = { init: function() { this.prop = 'text'; }, action: function() { alert(this.prop); } }; var myDemo = Object.create(Demo); myDemo.init();

Page 16: The 'New' Keyword in JavaScript