oleg 6 سال پیش
والد
کامیت
905f9deccd
2فایلهای تغییر یافته به همراه0 افزوده شده و 402 حذف شده
  1. 0 70
      JS_09.02.2018/index.html
  2. 0 332
      JS_09.02.2018/script.js

+ 0 - 70
JS_09.02.2018/index.html

@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="UTF-8">
-	<title>Home work 4</title>
-	<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
-	<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-	
-	<div class="task">
-		<h2>Задача 1</h2>
-		<p></p>
-		<div class="button" onclick="exercises(1)">Запустить задачку</div>
-	</div>
-	<div class="task">
-		<h2>Задача 2</h2>
-		<p></p>
-		<div class="button" onclick="exercises(2)">Запустить задачку</div>
-	</div>
-	<div class="task">
-		<h2>Задача 3</h2>
-		<p></p>
-		<div class="button" onclick="exercises(3)">Запустить задачку</div>
-	</div>
-	<div class="task">
-		<h2>Задача 4</h2>
-		<p></p>
-		<div class="button" onclick="exercises(4)">Запустить задачку</div>
-	</div>
-	<div class="task">
-		<h2>Задача 5</h2>
-		<p></p>
-		<div class="button" onclick="exercises(5)">Запустить задачку</div>
-	</div>
-	<div class="task">
-		<h2>Задача 6</h2>
-		<p></p>
-		<div class="button" onclick="exercises(6)">Запустить задачку</div>
-	</div>
-	<div class="task">
-		<h2>Задача 7</h2>
-		<p></p>
-		<div class="button" onclick="exercises(7)">Запустить задачку</div>
-	</div>
-	<div class="task" id="task8">
-		<h2>Задача 8</h2>
-		
-		
-	</div>
-	<div class="task">
-		<h2>Задача 9</h2>
-		<p></p>
-		<div class="button" onclick="exercises(9)">Запустить задачку</div>
-	</div>
-	<div class="task">
-		<h2>Задача 10</h2>
-		<p>Создайте структуру данных, полностью описывающую html-разметку картинки</p>
-		<p></p>
-				
-	</div>
-	<div class="task">
-		<h2>Задача 11</h2>
-		<p></p>
-		
-	</div>
-
-
-</body>
-</html>

+ 0 - 332
JS_09.02.2018/script.js

@@ -1,332 +0,0 @@
-$(document).ready(function() {
-
-	$(".button").css({                  // Стилизация кнопки для запуска задач
-		"display": "inline-block",
-		"background": "grey",
-		"cursor": "pointer",
-		"padding": "10px",
-		"margin": "20px 0 0 20px",
-		"border-radius": "10px",
-		"color": "white"
-	});
-
-	$(".task").css({
-		"width": "50%",
-		"border-bottom": "1px solid black",
-		"box-sizing": "border-box",
-		"padding": "10px"
-	});
-
-});
-
-	
-
-//   Задачки
-
-function exercises(par) {
-
-	var arr = [task_1, task_2, task_3, task_4, task_5, task_6, task_7, task_8, task_9];
-		
-	arr[par-1]();
-
-};
-
-
-
-// 1. Напишите функцию a, которая будет служить коротким именем для alert, 
-// то есть выводит пользовательское сообщение в стандартном модальном окне. 
-// Напишите функцию d, которая будет служить коротким именем для debugger, 
-// то есть запускает процесс отладки.
-
-
-function a(message) {
-
-	alert(message);
-}
-
-function d() {
-	debugger;
-}
-
-
-
-
-// 2. Напишите функцию max, которая сравнивает два числа и возвращает большее: 
-
-function max(a,b) {
-	return a > b ? a : b;
-}
-
-
-
-// 3. Напишите функцию-аналог Math.min(). 
-// Функция принимает любое количество чисел и возвращает меньшее из них:
-
-
-function min() {
-
-	var min = arguments[0];
-
-	for(var i = 1; i < arguments.length; i++) {
-
-		if(arguments[i] < min) {
-			min = arguments[i];
-		}
-	}
-	return min;
-}
-
-
-
-// 4. Изучите перебирающие методы массивов: forEach, filter, map. Создайте массив объектов 
-// users (~10 объектов), каждый объект имеет поля firstname, lastname, age с разными значениями, 
-// у некоторых есть поле middlename. Используя встроенные функции массивов:	 
-
-// a. Отфильтруйте пользователей младше 18 лет
-// b. Добавьте каждому объекту поле fullName, которое является конкатенацией firstname, middlename и lastname, 
-//    если есть все три, и только firstname и lastname, если middlename нет
-// c. Сформируйте новый массив, который содержит только полное имя пользователей
-
-
-var user_1 = {
-	firstname: "Joe",
-	lastname: "Cocker",
-	age: 13
-};
-
-var user_2 = {
-	firstname: "Michael",
-	lastname: "jackson",
-	age: 35
-};
-
-var user_3 = {
-	firstname: "Elvis",
-	middlename: "Aaron",
-	lastname: "Presley",
-	age: 50
-};
-
-var user_4 = {
-	firstname: "Ray",
-	lastname: "Charles",
-	age: 10
-};
-
-var user_5 = {
-	firstname: "James",
-	lastname: "Brown",
-	age: 18
-};
-
-var user_6 = {
-	firstname: "Chuck",
-	middlename: "Edward",
-	lastname: "Berry",
-	age: 14
-};
-
-var user_7 = {
-	firstname: "Eick",
-	lastname: "Claptric",
-	middlename: "Patron",
-	age: 43
-};
-
-var user_8 = {
-	firstname: "BB",
-	lastname: "King",
-	age: 16
-};
-
-var user_9 = {
-	firstname: "Freddie",
-	lastname: "Mercury",
-	age: 33
-};
-
-var user_10 = {
-	firstname: "Yngwie",
-	lastname: "Malmsteen",
-	age: 45
-};
-
-var arr = [user_1, user_2, user_3, user_4, user_5, user_6, user_7, user_8, user_9, user_10];
-
-// сортируем пользователей с возрастом < 18
-var a = arr.filter( function(obj){
-
-	return obj.age  < 18;
-});
-
-// добавляем поле middlename
-arr.forEach(function(obj) {
-
-	if (obj.middlename) {
-		obj.fullname = obj.firstname + " " + obj.middlename +" " + obj.lastname;
-	} else {
-
-		obj.fullname = obj.firstname + " " + obj.lastname;
-	}
-});
-
-// формируем новый массив который содержит только полное имя
-
-var arr2 = arr.map( function(obj) {
-
-	return obj.fullname;
-});
-
-
-
-
-// 5. Напишите функцию аналог метода массива shift. Функция удаляет из переданного
-// в параметре массива первый элемент и возвращает новый массив.
-
-
-function shift(arr) {
-
-	var arr2 = [];
-
-	for(var i = 1; i < arr.length; i++) {
-		arr2[i-1] = arr[i];
-	}
-	return arr2;
-};
-
-shift([1,2,3,4]);
-
-
-
-// 6. Напишите функцию аналог метода массива push. Функция добавляет в конец переданного 
-// в параметре массивa произвольное количество элементов.
-
-
-
-function push(arr) {
-
-	var a = Math.ceil(Math.random()*10);        //Создаем рандомную перенную а от 0 до 10
-
-	for(var i = 0; i < a; i++) {          
-
-		arr.push(Math.ceil(Math.random()*10));  // В цикле от 0 до а добавляем в массив произвольное кол-во элементов 
-	}
-
-	return arr;
-}
-
-push([1,2,3,4]);
-
-
-// 7. Напишите функцию аналог метода jQuery $.extend. Первый параметр 
-// функции - целевой объект, поля которого будут изменены или расширены. 
-// Остальные параметры - объекты-источники, полями которых будет расширяться целевой объект.
-
-
-var myInfo = {
-	name: "Oleg",
-	lastName: "Kriuchkov",
-	skills: {
-		guitar: "pro",
-		games: "pro"
-	}
-}
-
-var extraInfo = {
-	skills: {
-		cooking: "pro"
-	},
-	age: 24
-}
-
-
-function extend(obj) {          // obj_1 - Целевой объект. Объекты-источники берутся из arguments.
-
-	for(var i = 1; i < arguments.length; i++) {
-
-		for(var key in arguments[i]) {
-
-			if (obj[key] && typeof obj[key] == "object") {
-
-				for(var extraKey in arguments[i][key]) {
-
-					obj[key][extraKey] = arguments[i][key][extraKey];
-				}
-			} else {
-
-				obj[key] = arguments[i][key];
-			}
-		}
-	}
-
-	return obj;
-}
-
-extend(myInfo, extraInfo);
-
-
-
-
-// 8. Напишите функцию setComment с параметрами: date, message, author. Дата и текст 
-// сообщения - обязательные параметры, если какой-то из них или оба отсутствуют, 
-// то выполнение функции должно обрываться, а пользователю выдаваться предупреждение (alert) 
-// о том, что данные переданы некорректно. Параметр author - опциональный, но должна 
-// происходить проверка: если параметр не передан, то вместо него подставляется значение ‘Anonymous’.
-// Функция распечатывает на странице текст в формате: 
-// 				<имя_автора>, <дата>
-// 				<текст_сообщения>
-
-
-function setComment(date, message, author) {
-
-	if(!date || !message) {
-		return alert("Данные переданы некорректно.");
-	}
-
-	!author? author=author : author = "Anonymous";
-
-	$("#task8").append("<div><span>"+author+", "+date+"</span><br><span>"+message+"</div>");
-	$("#task8 div span:first-child").css({"font-weight": "800"});
-};
-
-setComment("2016-11-02", "Everything is ok", "John");
-
-
-
-// 9. Используя замыкание, напишите функцию createTimer, которая использует метод 
-// performance.now() для получения текущей временной метки и служит для замера 
-// времени выполнения другого кода:
-
-
-function createTimer() {
-
-	var t = performance.now();
-
-	return function () {
-		return performance.now() - t;
-	}
-}
-
-var timer = createTimer();
-alert('!')  
-alert( timer() );
-
-
-// 10. Используя замыкания, создайте функцию createAdder(), которая принимает на вход 
-// любой примитивный параметр и возвращает функцию, которая добавляет к первому параметру 
-// второй. 
-
-function createAdder(arg1) {
-
-	return function (arg2) {
-
-		return arg1 + arg2;
-	}
-}
-
-
-
-
-
-
-