Commit a58d47054b6b67dab41fa2547874cb1a9b2c4226

Authored by Administrator
0 parents

first

.idea/.name 0 → 100644
  1 +++ a/.idea/.name
  1 +lesson1
0 2 \ No newline at end of file
... ...
.idea/encodings.xml 0 → 100644
  1 +++ a/.idea/encodings.xml
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
  4 +</project>
0 5 \ No newline at end of file
... ...
.idea/lesson1.iml 0 → 100644
  1 +++ a/.idea/lesson1.iml
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<module type="WEB_MODULE" version="4">
  3 + <component name="NewModuleRootManager">
  4 + <content url="file://$MODULE_DIR$" />
  5 + <orderEntry type="inheritedJdk" />
  6 + <orderEntry type="sourceFolder" forTests="false" />
  7 + </component>
  8 +</module>
0 9 \ No newline at end of file
... ...
.idea/misc.xml 0 → 100644
  1 +++ a/.idea/misc.xml
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectRootManager" version="2" />
  4 +</project>
0 5 \ No newline at end of file
... ...
.idea/modules.xml 0 → 100644
  1 +++ a/.idea/modules.xml
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectModuleManager">
  4 + <modules>
  5 + <module fileurl="file://$PROJECT_DIR$/.idea/lesson1.iml" filepath="$PROJECT_DIR$/.idea/lesson1.iml" />
  6 + </modules>
  7 + </component>
  8 +</project>
0 9 \ No newline at end of file
... ...
.idea/scopes/scope_settings.xml 0 → 100644
  1 +++ a/.idea/scopes/scope_settings.xml
  1 +<component name="DependencyValidationManager">
  2 + <state>
  3 + <option name="SKIP_IMPORT_STATEMENTS" value="false" />
  4 + </state>
  5 +</component>
0 6 \ No newline at end of file
... ...
.idea/vcs.xml 0 → 100644
  1 +++ a/.idea/vcs.xml
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="VcsDirectoryMappings">
  4 + <mapping directory="" vcs="" />
  5 + </component>
  6 +</project>
0 7 \ No newline at end of file
... ...
.idea/workspace.xml 0 → 100644
  1 +++ a/.idea/workspace.xml
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ChangeListManager">
  4 + <list default="true" id="5fc16fa1-58d6-4cb1-ad48-497cbb855cce" name="Default" comment="" />
  5 + <ignored path="lesson1.iws" />
  6 + <ignored path=".idea/workspace.xml" />
  7 + <ignored path=".idea/dataSources.local.xml" />
  8 + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
  9 + <option name="TRACKING_ENABLED" value="true" />
  10 + <option name="SHOW_DIALOG" value="false" />
  11 + <option name="HIGHLIGHT_CONFLICTS" value="true" />
  12 + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
  13 + <option name="LAST_RESOLUTION" value="IGNORE" />
  14 + </component>
  15 + <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
  16 + <component name="CreatePatchCommitExecutor">
  17 + <option name="PATCH_PATH" value="" />
  18 + </component>
  19 + <component name="DaemonCodeAnalyzer">
  20 + <disable_hints />
  21 + </component>
  22 + <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  23 + <component name="FavoritesManager">
  24 + <favorites_list name="lesson1" />
  25 + </component>
  26 + <component name="FileEditorManager">
  27 + <leaf>
  28 + <file leaf-file-name="index.html" pinned="false" current-in-tab="false">
  29 + <entry file="file://$PROJECT_DIR$/index.html">
  30 + <provider selected="true" editor-type-id="text-editor">
  31 + <state vertical-scroll-proportion="-1.3333334" vertical-offset="0" max-vertical-offset="234">
  32 + <caret line="2" column="25" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" />
  33 + <folding />
  34 + </state>
  35 + </provider>
  36 + </entry>
  37 + </file>
  38 + <file leaf-file-name="lesson_1.js" pinned="false" current-in-tab="true">
  39 + <entry file="file://$PROJECT_DIR$/lesson_1.js">
  40 + <provider selected="true" editor-type-id="text-editor">
  41 + <state vertical-scroll-proportion="0.42768595" vertical-offset="0" max-vertical-offset="968">
  42 + <caret line="23" column="31" selection-start-line="23" selection-start-column="31" selection-end-line="23" selection-end-column="31" />
  43 + <folding />
  44 + </state>
  45 + </provider>
  46 + </entry>
  47 + </file>
  48 + <file leaf-file-name="lesson_2.js" pinned="false" current-in-tab="false">
  49 + <entry file="file://$PROJECT_DIR$/lesson_2.js">
  50 + <provider selected="true" editor-type-id="text-editor">
  51 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="828">
  52 + <caret line="37" column="0" selection-start-line="37" selection-start-column="0" selection-end-line="37" selection-end-column="0" />
  53 + <folding />
  54 + </state>
  55 + </provider>
  56 + </entry>
  57 + </file>
  58 + <file leaf-file-name="lesson_3.js" pinned="false" current-in-tab="false">
  59 + <entry file="file://$PROJECT_DIR$/lesson_3.js">
  60 + <provider selected="true" editor-type-id="text-editor">
  61 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="846">
  62 + <caret line="41" column="33" selection-start-line="41" selection-start-column="33" selection-end-line="41" selection-end-column="33" />
  63 + <folding />
  64 + </state>
  65 + </provider>
  66 + </entry>
  67 + </file>
  68 + <file leaf-file-name="lesson_4.js" pinned="false" current-in-tab="false">
  69 + <entry file="file://$PROJECT_DIR$/lesson_4.js">
  70 + <provider selected="true" editor-type-id="text-editor">
  71 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="684">
  72 + <caret line="32" column="31" selection-start-line="32" selection-start-column="31" selection-end-line="32" selection-end-column="31" />
  73 + <folding />
  74 + </state>
  75 + </provider>
  76 + </entry>
  77 + </file>
  78 + <file leaf-file-name="lesson_5.js" pinned="false" current-in-tab="false">
  79 + <entry file="file://$PROJECT_DIR$/lesson_5.js">
  80 + <provider selected="true" editor-type-id="text-editor">
  81 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="828">
  82 + <caret line="33" column="0" selection-start-line="33" selection-start-column="0" selection-end-line="34" selection-end-column="35" />
  83 + <folding />
  84 + </state>
  85 + </provider>
  86 + </entry>
  87 + </file>
  88 + </leaf>
  89 + </component>
  90 + <component name="IdeDocumentHistory">
  91 + <option name="CHANGED_PATHS">
  92 + <list>
  93 + <option value="$PROJECT_DIR$/main.js" />
  94 + <option value="$PROJECT_DIR$/lesson2.js" />
  95 + <option value="$PROJECT_DIR$/lesson_1.js" />
  96 + <option value="$PROJECT_DIR$/lesson_2.js" />
  97 + <option value="$PROJECT_DIR$/lesson_3.js" />
  98 + <option value="$PROJECT_DIR$/lesson_4.js" />
  99 + <option value="$PROJECT_DIR$/index.html" />
  100 + <option value="$PROJECT_DIR$/lesson_5.js" />
  101 + </list>
  102 + </option>
  103 + </component>
  104 + <component name="JsGulpfileManager">
  105 + <detection-done>true</detection-done>
  106 + </component>
  107 + <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
  108 + <component name="ProjectFrameBounds">
  109 + <option name="x" value="43" />
  110 + <option name="y" value="-3" />
  111 + <option name="width" value="1877" />
  112 + <option name="height" value="1083" />
  113 + </component>
  114 + <component name="ProjectLevelVcsManager" settingsEditedManually="false">
  115 + <OptionsSetting value="true" id="Add" />
  116 + <OptionsSetting value="true" id="Remove" />
  117 + <OptionsSetting value="true" id="Checkout" />
  118 + <OptionsSetting value="true" id="Update" />
  119 + <OptionsSetting value="true" id="Status" />
  120 + <OptionsSetting value="true" id="Edit" />
  121 + <ConfirmationsSetting value="0" id="Add" />
  122 + <ConfirmationsSetting value="0" id="Remove" />
  123 + </component>
  124 + <component name="ProjectView">
  125 + <navigator currentView="ProjectPane" proportions="" version="1">
  126 + <flattenPackages />
  127 + <showMembers />
  128 + <showModules />
  129 + <showLibraryContents />
  130 + <hideEmptyPackages />
  131 + <abbreviatePackageNames />
  132 + <autoscrollToSource />
  133 + <autoscrollFromSource />
  134 + <sortByType />
  135 + </navigator>
  136 + <panes>
  137 + <pane id="Scope" />
  138 + <pane id="ProjectPane">
  139 + <subPane>
  140 + <PATH>
  141 + <PATH_ELEMENT>
  142 + <option name="myItemId" value="lesson1" />
  143 + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  144 + </PATH_ELEMENT>
  145 + </PATH>
  146 + <PATH>
  147 + <PATH_ELEMENT>
  148 + <option name="myItemId" value="lesson1" />
  149 + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
  150 + </PATH_ELEMENT>
  151 + <PATH_ELEMENT>
  152 + <option name="myItemId" value="lesson1" />
  153 + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
  154 + </PATH_ELEMENT>
  155 + </PATH>
  156 + </subPane>
  157 + </pane>
  158 + </panes>
  159 + </component>
  160 + <component name="PropertiesComponent">
  161 + <property name="WebServerToolWindowFactoryState" value="true" />
  162 + <property name="FullScreen" value="false" />
  163 + </component>
  164 + <component name="RunManager">
  165 + <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
  166 + <method />
  167 + </configuration>
  168 + <configuration default="true" type="PhpUnitRemoteRunConfigurationType" factoryName="PHPUnit on Server">
  169 + <method />
  170 + </configuration>
  171 + <configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
  172 + <TestRunner />
  173 + <method />
  174 + </configuration>
  175 + <configuration default="true" type="PhpLocalRunConfigurationType" factoryName="PHP Console">
  176 + <method />
  177 + </configuration>
  178 + <configuration default="true" type="PhpBehatConfigurationType" factoryName="Behat">
  179 + <BehatRunner />
  180 + <method />
  181 + </configuration>
  182 + <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
  183 + <method />
  184 + </configuration>
  185 + <list size="0" />
  186 + </component>
  187 + <component name="ShelveChangesManager" show_recycled="false" />
  188 + <component name="SvnConfiguration">
  189 + <configuration />
  190 + </component>
  191 + <component name="TaskManager">
  192 + <task active="true" id="Default" summary="Default task">
  193 + <changelist id="5fc16fa1-58d6-4cb1-ad48-497cbb855cce" name="Default" comment="" />
  194 + <created>1442782150987</created>
  195 + <option name="number" value="Default" />
  196 + <updated>1442782150987</updated>
  197 + </task>
  198 + <servers />
  199 + </component>
  200 + <component name="ToolWindowManager">
  201 + <frame x="43" y="-3" width="1877" height="1083" extended-state="6" />
  202 + <editor active="true" />
  203 + <layout>
  204 + <window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  205 + <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  206 + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.11347896" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
  207 + <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
  208 + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
  209 + <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  210 + <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  211 + <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  212 + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
  213 + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
  214 + <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
  215 + <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
  216 + <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
  217 + <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
  218 + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
  219 + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
  220 + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
  221 + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
  222 + <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
  223 + <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
  224 + </layout>
  225 + </component>
  226 + <component name="Vcs.Log.UiProperties">
  227 + <option name="RECENTLY_FILTERED_USER_GROUPS">
  228 + <collection />
  229 + </option>
  230 + <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
  231 + <collection />
  232 + </option>
  233 + </component>
  234 + <component name="VcsContentAnnotationSettings">
  235 + <option name="myLimit" value="2678400000" />
  236 + </component>
  237 + <component name="VcsManagerConfiguration">
  238 + <option name="myTodoPanelSettings">
  239 + <TodoPanelSettings />
  240 + </option>
  241 + </component>
  242 + <component name="XDebuggerManager">
  243 + <breakpoint-manager />
  244 + <watches-manager />
  245 + </component>
  246 + <component name="editorHistoryManager">
  247 + <entry file="file://$PROJECT_DIR$/index.html">
  248 + <provider selected="true" editor-type-id="text-editor">
  249 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="100">
  250 + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
  251 + <folding />
  252 + </state>
  253 + </provider>
  254 + </entry>
  255 + <entry file="file://$PROJECT_DIR$/lesson_2.js">
  256 + <provider selected="true" editor-type-id="text-editor">
  257 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="828">
  258 + <caret line="37" column="0" selection-start-line="37" selection-start-column="0" selection-end-line="37" selection-end-column="0" />
  259 + <folding />
  260 + </state>
  261 + </provider>
  262 + </entry>
  263 + <entry file="file://$PROJECT_DIR$/lesson_3.js">
  264 + <provider selected="true" editor-type-id="text-editor">
  265 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="846">
  266 + <caret line="41" column="33" selection-start-line="41" selection-start-column="33" selection-end-line="41" selection-end-column="33" />
  267 + <folding />
  268 + </state>
  269 + </provider>
  270 + </entry>
  271 + <entry file="file://$PROJECT_DIR$/lesson_4.js">
  272 + <provider selected="true" editor-type-id="text-editor">
  273 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="684">
  274 + <caret line="32" column="31" selection-start-line="32" selection-start-column="31" selection-end-line="32" selection-end-column="31" />
  275 + <folding />
  276 + </state>
  277 + </provider>
  278 + </entry>
  279 + <entry file="jar://$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/lib/JavaScriptLanguage.jar!/com/intellij/lang/javascript/index/predefined/DHTML.js">
  280 + <provider selected="true" editor-type-id="text-editor">
  281 + <state vertical-scroll-proportion="0.33297643" vertical-offset="17653" max-vertical-offset="86418">
  282 + <caret line="998" column="0" selection-start-line="998" selection-start-column="0" selection-end-line="998" selection-end-column="0" />
  283 + <folding />
  284 + </state>
  285 + </provider>
  286 + </entry>
  287 + <entry file="file://$PROJECT_DIR$/lesson_5.js">
  288 + <provider selected="true" editor-type-id="text-editor">
  289 + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="828">
  290 + <caret line="33" column="0" selection-start-line="33" selection-start-column="0" selection-end-line="34" selection-end-column="35" />
  291 + <folding />
  292 + </state>
  293 + </provider>
  294 + </entry>
  295 + <entry file="file://$PROJECT_DIR$/index.html">
  296 + <provider selected="true" editor-type-id="text-editor">
  297 + <state vertical-scroll-proportion="-1.3333334" vertical-offset="0" max-vertical-offset="234">
  298 + <caret line="2" column="25" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" />
  299 + <folding />
  300 + </state>
  301 + </provider>
  302 + </entry>
  303 + <entry file="file://$PROJECT_DIR$/lesson_1.js">
  304 + <provider selected="true" editor-type-id="text-editor">
  305 + <state vertical-scroll-proportion="0.42768595" vertical-offset="0" max-vertical-offset="968">
  306 + <caret line="23" column="31" selection-start-line="23" selection-start-column="31" selection-end-line="23" selection-end-column="31" />
  307 + <folding />
  308 + </state>
  309 + </provider>
  310 + </entry>
  311 + </component>
  312 +</project>
0 313 \ No newline at end of file
... ...
index.html 0 → 100644
  1 +++ a/index.html
  1 +<html>
  2 +<head>
  3 + <script src="lesson_5.js"></script>
  4 +</head>
  5 +<body>
  6 +
  7 +</body>
  8 +</html>
0 9 \ No newline at end of file
... ...
lesson_1.js 0 → 100644
  1 +++ a/lesson_1.js
  1 +/**
  2 + * Created by vitaliy on 21.09.15.
  3 + * Обьекты
  4 + */
  5 +
  6 +var person = {
  7 + name:"Vitaliy",
  8 + age: 25,
  9 + gender: "male",
  10 + sayHi: function(){
  11 + return "Hello!!";
  12 + }
  13 +};
  14 +
  15 +console.log(person.name);
  16 +console.log(person['age']);
  17 +
  18 +person.age = 44;
  19 +person.id = 1;
  20 +
  21 +console.log(person.id);
  22 +console.log(person.sayHi());
  23 +
  24 +var object = Object.create({x:5, y:9});//наследуем x y
  25 +console.log(object);
  26 +
  27 +console.log(object.hasOwnProperty("x"));
  28 +
  29 +object.x = 20;
  30 +console.log(object);
  31 +console.log(object.hasOwnProperty("x"));
  32 +
  33 +//delete
  34 +
  35 +delete object.x;
  36 +console.log(object);
  37 +console.log("x" in object);
0 38 \ No newline at end of file
... ...
lesson_2.js 0 → 100644
  1 +++ a/lesson_2.js
  1 +/**
  2 + * Created by vitaliy on 21.09.15.
  3 + * this и непрямой вызов методов
  4 + */
  5 +
  6 +//var person = {
  7 +// name:"Vitaliy",
  8 +// age: 25,
  9 +// gender: "male",
  10 +// sayHi: function(){
  11 +// return "Hello!! My name is "+this.name;
  12 +// }
  13 +//};
  14 +//
  15 +//console.log(person.sayHi());
  16 +
  17 +var sayHi = function(greet){
  18 + return greet+ "Hello!! My name is "+this.name;
  19 +};
  20 +
  21 +var person = {
  22 + name:"Vitaliy",
  23 + age: 25,
  24 + gender: "male",
  25 + sayHi: sayHi
  26 +};
  27 +
  28 +var anotherPerson = {
  29 + name:"Dima",
  30 + age: 25,
  31 + gender: "male",
  32 + sayHi: sayHi
  33 +};
  34 +
  35 +console.log(person.sayHi("Hi"));
  36 +console.log(anotherPerson.sayHi("Hi"));
  37 +console.log(sayHi.call(person,"Hi"));
  38 +
  39 +
  40 +var bound = sayHi.bind(person);
  41 +console.log(bound("Hello there!"));
0 42 \ No newline at end of file
... ...
lesson_3.js 0 → 100644
  1 +++ a/lesson_3.js
  1 +/**
  2 + * Created by vitaliy on 21.09.15.
  3 + * Аксессоры и атрибуты свойств
  4 + * ES5
  5 + */
  6 +
  7 +var person = {
  8 + name:"Vitaliy",
  9 + _age:20,
  10 + get age(){
  11 + return this._age;
  12 + },
  13 + set age (value){
  14 + this._age = value<0 ? 0 : value > 130 ? 130 : value;
  15 + }
  16 +};
  17 +console.log(person.age);
  18 +person.age = 150;
  19 +console.log(person.age);
  20 +
  21 +console.log(Object.getOwnPropertyDescriptor(person, "name"));
  22 +console.log(Object.getOwnPropertyDescriptor(person, "age"));
  23 +
  24 +Object.defineProperty(person,"gender",{
  25 + value: "male",
  26 + writable: false,
  27 + enumerable: false,
  28 + configurable: false
  29 +
  30 +});
  31 +console.log(Object.getOwnPropertyDescriptor(person, "gender"));
  32 +console.log(person);
  33 +
  34 +person.gender = "female";
  35 +
  36 +console.log(person.gender);
  37 +
  38 +for(property in person){
  39 + console.log(property);
  40 +}
  41 +
  42 +console.log(Object.keys(person));
0 43 \ No newline at end of file
... ...
lesson_4.js 0 → 100644
  1 +++ a/lesson_4.js
  1 +/**
  2 + * Created by vitaliy on 21.09.15.
  3 + * Прототипы и наследование
  4 + */
  5 +
  6 +var Person = {
  7 + constructor: function(name, age, gender){
  8 + this.name =name;
  9 + this.age = age;
  10 + this.gender = gender;
  11 + return this;
  12 + },
  13 + sayHi: function(){
  14 + return "Hello!!";
  15 + }
  16 +};
  17 +var object = Object.create(Person).constructor('Vitaliy', 25,'male');
  18 +console.log(object);
  19 +
  20 +console.log(Person.isPrototypeOf(object));
  21 +
  22 +var WebDeveloper = Object.create(Person);
  23 +WebDeveloper.constructor = function(name, age, gender, skills){
  24 + Person.constructor.apply(this, arguments);
  25 + this.skills = skills|| [];
  26 + return this;
  27 +};
  28 +WebDeveloper.develop = function(){
  29 + return "Working...";
  30 +};
  31 +var developer = Object.create(WebDeveloper).constructor("Vasa", 44, "male", ["php", "js","css"]);
  32 +console.log(developer);
  33 +console.log(developer.develop());
0 34 \ No newline at end of file
... ...
lesson_5.js 0 → 100644
  1 +++ a/lesson_5.js
  1 +/**
  2 + * Created by vitaliy on 21.09.15.
  3 + * Конструкторы и классы
  4 + */
  5 +var Person = function(name){
  6 + this.name = name;
  7 +};
  8 +
  9 +
  10 +Person.prototype.greet = function(){
  11 + return "Hello, my name is " + this.name;
  12 +};
  13 +
  14 +var person = new Person("Vitaliy");
  15 +console.log(person);
  16 +
  17 +
  18 +console.log(person.greet());
  19 +console.log(person.constructor);
  20 +console.log(person instanceof Person);
  21 +console.log(Person.prototype.isPrototypeOf(person));
  22 +
  23 +console.log(Person.prototype);
  24 +console.log(person.__proto__);
  25 +
  26 +
  27 +Developer = function (name, skills){
  28 + Person.apply(this, arguments);
  29 + this.skills = skills || [];
  30 +};
  31 +
  32 +Developer.prototype = Object.create(Person.prototype);
  33 +console.log(Developer.prototype);
  34 +//Developer.prototype.constructor = Developer;
  35 +//console.log(Developer.prototype);
  36 +
  37 +developer = new Developer('Maria', ["ruby", "php", "mysql"]);
  38 +console.log(developer.skills);
  39 +console.log(developer.greet());
  40 +console.log(developer instanceof Developer);
  41 +console.log(developer instanceof Person);
0 42 \ No newline at end of file
... ...