O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Advanced JavaScript Concepts

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Advanced javascript
Advanced javascript
Carregando em…3
×

Confira estes a seguir

1 de 42 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Quem viu também gostou (20)

Anúncio

Mais recentes (20)

Advanced JavaScript Concepts

  1. 1. var Calculator = function() { //private variables //private functions return { //public members }; };
  2. 2. var Calculator = function(eq) { //private member var eqCtl = document.getElementById(eq); return { var calculator = new Calculator('eq'); //expose public member calculator.add(2,2) add: function(x,y) { var val = x + y; eqCtl.innerHTML = val; } }; };
  3. 3. newObject oldObject
  4. 4. car vehicle
  5. 5. newObject Constructor.prototype

Notas do Editor

  • a closure is the local variables for a function - kept alive after the function has returned, ora closure is a stack-frame which is not de-allocated even after the function returns. In JavaScript, if you use the function keyword inside another function, you are creating a closure.In C, and most other common languages after a function returns, all the local variables are no longer accessible because the stack-frame is destroyed.Lets see in action…its simple…
  • Before starting ask about Inheritance in JS.A prototype-based language, such as JavaScript, does not make this distinction: it simply has objects. A prototype-based language has the notion of a prototypical object, an object used as a template from which to get the initial properties for a new object. Any object can specify its own properties, either when you create it or at run time. In addition, any object can be associated as the prototype for another object, allowing the second object to share the first object's properties.
  • Before starting ask about Inheritance in JS.A prototype-based language, such as JavaScript, does not make this distinction: it simply has objects. A prototype-based language has the notion of a prototypical object, an object used as a template from which to get the initial properties for a new object. Any object can specify its own properties, either when you create it or at run time. In addition, any object can be associated as the prototype for another object, allowing the second object to share the first object's properties.
  • Objects are instances of Classes.A Class inherits from another Class.
  • Note: Proto is available only in Mozilla
  • If an car has a model property, then the chain will not be consulted when accessing member model .If access of a member of car fails, then search for the member in vehicle.If that fails, then search for the member in Object.prototype.Changes in oldObject may be immediately visible in newObject.Changes to newObject have no effect on oldObject.oldObject can be the prototype for an unlimited number of objects which will all inherit its properties.newObject can be the prototype for an unlimited number of even newer objects.There is no limit to the length of the chain (except common sense).
  • When functions are designed to be used with new, they are called constructors.Constructors are used to make objects of a type or class.JavaScript's notation can get a little strange because it is trying to look like the old familiar classical pattern, while also trying to be something really different.
  • When functions are designed to be used with new, they are called constructors.Constructors are used to make objects of a type or class.JavaScript's notation can get a little strange because it is trying to look like the old familiar classical pattern, while also trying to be something really different.new Oppnew Constructor() returns a new object with a link to Constructor.prototype.varnewObject = new Constructor();The new operator is required when calling a Constructor.If new is omitted, the global object is clobbered by the constructor, and then the global object is returned instead of a new instance.
  • The logical OR operator makes sure that, if no values get passed into that constructor function, the properties hasEngine and hasWheels still have values assigned to them. 
  • This is basically the same as above, nothing special. We would now create a new Car object by passing in make, model and hp using the new operator. But for now, Car and Vehicle do not have anything to do with each other at all.
  • This is basically the same as above, nothing special. We would now create a new Car object by passing in make, model and hp using the new operator. But for now, Car and Vehicle do not have anything to do with each other at all.
  • A prototype-based language, such as JavaScript, does not make this distinction: it simply has objects. A prototype-based language has the notion of a prototypical object, an object used as a template from which to get the initial properties for a new object. Any object can specify its own properties, either when you create it or at run time. In addition, any object can be associated as the prototype for another object, allowing the second object to share the first object's properties.
  • Jst

×