JavaScriptкак объектно-ориентированный язык программирования<br />Сергей Байдачный<br />Специалист по разработке программн...
Зачем?<br />Существующий код не идеален<br />HTML 5 предоставляет больше возможностей, а аппетит приходит во время еды<br ...
Начну с ресурсов<br />
А теперь немного о JavaScript<br />JavaScript является языком объектно-ориентированного программирования<br />В JavaScript...
Объекты<br />var a={<br />firstName: "Sergey", lastName: "Baydachnyy",<br />GetName: (function(){<br />                   ...
Объекты<br /> function Person(fName,lName){<br />this.firstName=fName;<br />this.lastName=lName;<br />this.getName=(functi...
Икапсуляция<br />function Person(fName,lName){<br />varinternalF=(function(){<br />                return fName+" "+lName;...
Прототип<br />prototype – свойство, ссылающееся на объект-прототип для всех создаваемых объектов <br />Person.prototype.ge...
Наследование<br />Возможно несколько вариантов<br />Один из вариантов реализуется с помощью свойства prototype<br />Develo...
Шаблон Module <br />(function () {<br />var a = 10;<br />    function somePrivateStuff() {<br />     a = 15;<br />   }<br ...
Defining Objects with WinJS<br />varMyThing = WinJS.Class.define(<br />    function() { },<br />    {<br />        method1...
Objects as Namespaces With WinJS<br />WinJS.Namespace.define("MyNamespace", {<br />somethingUseful: function () { }<br />}...
Upcoming SlideShare
Loading in …5
×

JavaScript как объектно-ориентированный язык программирования

1,726 views
1,590 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,726
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JavaScript как объектно-ориентированный язык программирования

  1. 1. JavaScriptкак объектно-ориентированный язык программирования<br />Сергей Байдачный<br />Специалист по разработке программного обеспечения <br />Microsoft Ukraine<br />Sergiy.Baydachnyy@microsoft.com<br />
  2. 2. Зачем?<br />Существующий код не идеален<br />HTML 5 предоставляет больше возможностей, а аппетит приходит во время еды<br />JavaScript не привязан к платформе -> существующих фреймворков хватать не будет<br />
  3. 3. Начну с ресурсов<br />
  4. 4. А теперь немного о JavaScript<br />JavaScript является языком объектно-ориентированного программирования<br />В JavaScript нет классов<br />JavaScript обладает следующими областями видимости:<br />Глобальная<br />Функции<br />
  5. 5. Объекты<br />var a={<br />firstName: "Sergey", lastName: "Baydachnyy",<br />GetName: (function(){<br /> return this.firstName+" "+this.lastName;<br /> })<br />};<br />a.GetAge=(function(){return 18;});<br />delete a.GetName; <br />
  6. 6. Объекты<br /> function Person(fName,lName){<br />this.firstName=fName;<br />this.lastName=lName;<br />this.getName=(function(){<br /> return this.firstName+" "+lastName;<br /> });<br /> }<br />var a=new Person("Sergey","Baydachnyy");<br />
  7. 7. Икапсуляция<br />function Person(fName,lName){<br />varinternalF=(function(){<br /> return fName+" "+lName;<br /> });<br />this.firstName=fName;<br />this.lastName=lName;<br />this.getName=(function(){<br /> return internalF();<br /> });<br /> }<br />var a=new Person("Sergey","Baydachnyy");<br />
  8. 8. Прототип<br />prototype – свойство, ссылающееся на объект-прототип для всех создаваемых объектов <br />Person.prototype.getAge=(function(){<br /> return 18;<br /> });<br />
  9. 9. Наследование<br />Возможно несколько вариантов<br />Один из вариантов реализуется с помощью свойства prototype<br />Developer.prototype = new Person();<br />
  10. 10. Шаблон Module <br />(function () {<br />var a = 10;<br /> function somePrivateStuff() {<br /> a = 15;<br /> }<br />WinJS.Navigation.navigate("/html/firstPage.html");<br />})();<br />
  11. 11. Defining Objects with WinJS<br />varMyThing = WinJS.Class.define(<br /> function() { },<br /> {<br /> method1: function() { }<br /> });<br />
  12. 12. Objects as Namespaces With WinJS<br />WinJS.Namespace.define("MyNamespace", {<br />somethingUseful: function () { }<br />});<br />MyNamespace.somethingUseful();<br />

×