Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
EgorKuzevanov committed Mar 16, 2023
0 parents commit 9bc3181
Show file tree
Hide file tree
Showing 7 changed files with 109 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
14 changes: 14 additions & 0 deletions 1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const WindowsVersion = {
name: 'Windows 7',
version: '6.1',
year: 2009,
developer: 'Microsoft Corporation',
};

getObjectValues(WindowsVersion);

function getObjectValues(obj) {
for (var key in obj) {
console.log(key + ' = ' + obj[key]);
}
}
16 changes: 16 additions & 0 deletions 2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const WindowsVersion = {
name: 'Windows 7',
version: '6.1',
year: 2009,
developer: 'Microsoft Corporation',
};

console.log(isProperty(WindowsVersion, 'developer'));

function isProperty(object, property) {
if (object.hasOwnProperty(property)) {
return true;
} else {
return false;
}
}
5 changes: 5 additions & 0 deletions 3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const myObj = newObject();

function newObject() {
return new Object();
}
25 changes: 25 additions & 0 deletions 4.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
function ElectricalAppliance(name, power) {
this.name = name;
this.power = power;
this.isPlugged = false;
} // метод, который определяет прибор как включенный в розетку

ElectricalAppliance.prototype.plugIn = function() {
console.log(this.name + " is plugged!");
this.isPlugged = true;
}

ElectricalAppliance.prototype.getPowerUsed = function() {
return this.isPlugged ? this.power : 0;
}

const lampa = new ElectricalAppliance('lampa', 45);
const tv = new ElectricalAppliance('tv', 1000);

console.log(lampa.getPowerUsed() + tv.getPowerUsed());

lampa.plugIn();
console.log(lampa.getPowerUsed() + tv.getPowerUsed());

tv.plugIn();
console.log(lampa.getPowerUsed() + tv.getPowerUsed());
31 changes: 31 additions & 0 deletions 5.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
class ElectricalAppliance
{
constructor(name, power)
{
this.name = name;
this.power = power;
this.isPlugged = false;
}

plugIn()
{
console.log(this.name + " is plugged!");
this.isPlugged = true;
}

getPowerUsed()
{
return this.isPlugged ? this.power : 0;
}
}

const lampa = new ElectricalAppliance('lampa', 45);
const tv = new ElectricalAppliance('tv', 1000);

console.log(lampa.getPowerUsed() + tv.getPowerUsed());

lampa.plugIn();
console.log(lampa.getPowerUsed() + tv.getPowerUsed());

tv.plugIn();
console.log(lampa.getPowerUsed() + tv.getPowerUsed());
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Задание 1.
Написать, функцию, которая принимает в качестве аргумента объект и выводит в консоль все ключи и значения только собственных свойств. Данная функция не должна возвращать значение.

Задание 2.
Написать функцию, которая принимает в качестве аргументов строку и объект, а затем проверяет есть ли у переданного объекта свойство с данным именем. Функция должна возвращать true или false.

Задание 3.
Написать функцию, которая создает пустой объект, но без прототипа.

Задание 4.
Реализуйте следующее консольное приложение подобно примеру, который разбирался в видео. Реализуйте его на прототипах.
Определите иерархию электроприборов. Включите некоторые в розетку. Посчитайте суммарную потребляемую мощность всех включенных приборов (передайте аргумент).
Таких приборов должно быть как минимум два (например, настольная лампа и компьютер). Выбрав прибор, подумайте, какими свойствами он обладает.

Задание 5.
Переписать консольное приложение из предыдущего юнита на классы.

0 comments on commit 9bc3181

Please sign in to comment.