Array  break  case  catch  const  continue  default  Date  do Error  else  Function  false  finally  for

function  if  in  instanceof  Infinity  Math  NaN  Number  new  null  Object  Promise  prototype  RegExp

return  String  switch  this  then  throw  try  true  undefined  var  with  while
	
alert(s)
appendChild(tagName)
fillRect()
pow(base, n)
sin(radians)
cos(radians)
random()
isNaN()
test()
sqrt(n)
prompt(s)
parseInt(s) parseFloat(s)
floor(f) 
ceil(f)
charAt(n)
indexOf(substring, offset)
substring(start, end)
replace(pattern, replacement)
toLowerCase(s)
toUpperCase(s)
abs(n)
splice(start, length, newItem1, newItem2, ...)
split(pattern, limit)
toString()
createElement(tagName)

getElementById(id)

getContext(contextType)

removeChild(domElement)

strokeText(text, x, y)

fillText(text, x, y)

measureText(text)

setItem(key, value)

join(delimeter)

round(floatNumber)
	

Начинаем выполнять примеры

Итак можно приступать. Вы знаете, что такое переменные и функции, имеете представление о типах объектов, которые хранятся в ваших переменных и знаете, где посмотреть какие методы и свойства есть у ваших переменных.

Я буду здесь выполнять с подробными комментариями один из вариантов заданий, которые вы можете видеть пройдя по ссылке Список задач

Это задачи различных вузов, которые мне удалось найти в интернете и те, которые у меня остались после учебы.

Почти все они придумывались в расчете на то, что учащиеся будут писать консольные приложения. Типичное консольное приложение работает так: приглашает пользователя ввести какие-то данные, которые надо обработать, выводит результат и заканчивает на этом свою работу.

В браузерном JavaScript есть подходящие для реализации такого приложения средства: методы объекта window alert и prompt. Но в контексте наших задач у них есть небольшой недостаток в сравнении с командной строкой windows или терминалом unix: эти консоли сохраняют в процессе сеанса запуска все, что вы ввели ранее и что выводила программа. Это полезно, например если ваша программка дала сбой, вы видите что вы вводили в последний раз.

Вообще-то для таких дел существуют инструменты называемые отладчиками, но на первых порах консоль это тоже очень хорошо.

Поэтому вы можете использовать на этом сайте вместо alert и prompt функции writeln и readln. Названия я позаимствовал из Паскаля, но это не принципиально.

Для наглядной разницы можете выполнить в консоли два примера:

	function useAlertPrompt() {
		var v = prompt('Сколько вам лет');
		v  = parseInt(v);
		if(!isNaN(v)) {
			alert('Вам ' + v + ' лет!');
		} else {
			alert('Ну и не надо!');
		}
	}

И то же самое с использованием writeln и readln

	function useReadWrite() {
		var v = readln('Сколько вам лет');
		v  = parseInt(v);
		if(!isNaN(v)) {
			writeln('Вам ' + v + ' лет!');
		} else {
			writeln('Ну и не надо!');
		}
	}

Тест на новые слова
КОММЕНТАРИИ
  • lamzin80 AndreyLamzin:
    Просто код тут будет
    const CACHE = "cache-update-and-refresh-v1";

    // При установке воркера мы должны закешировать часть данных (статику).
    self.addEventListener("install", (event) => {
    console.log("I install");
    event.waitUntil(
    caches
    .open(CACHE)
    .then(
    (cache) => {
    console.log("add activate event listener");
    self.addEventListener("activate", function(event) {
    console.log("activate event!");
    var o = self.clients.claim().
    then(() => {
    console.log("activate event success");
    }).
    catch( (e) => {
    console.log(e);
    });
    return o;
    });/**/
    console.log("Start caching");
    var o = cache.addAll([
    "/temp/s9/s/app.css"

    ]).then(
    (a, b, c) => {
    console.log("then!");
    }
    ).catch(
    (e) => {
    console.log("catch!");
    console.log(e);
    }
    );
    return o;
    }
    )
    );/**/
    });

    // При запросе на сервер мы используем данные из кэша и только после идем на сервер.
    self.addEventListener("fetch", (event) => {
    console.log("I fetch!");
    // Как и в предыдущем примере, сначала `respondWith()` потом `waitUntil()`
    event.respondWith(fromCache(event.request)).
    catch((e) => {
    console.log(e);
    });
    event.waitUntil(
    update(event.request)
    // В конце, после получения "свежих" данных от сервера уведомляем всех клиентов.
    .then(refresh)
    );
    });/**/



    self.sync = function (data) {
    console.log("Call synmc");
    }
    self.syncdata = function() {
    console.log("Call syncData");
    }

    function fromCache(request) {
    return caches.open(CACHE).then((cache) =>
    cache.match(request).then((matching) =>
    matching || Promise.reject("no-match")
    ));
    }

    function update(request) {
    return caches.open(CACHE).then((cache) =>
    fetch(request).then((response) =>
    cache.put(request, response.clone()).then(() => response)
    )
    );
    }

    // Шлём сообщения об обновлении данных всем клиентам.
    function refresh(response) {
    return self.clients.matchAll().then((clients) => {
    clients.forEach((client) => {
    // Подробнее про ETag можно прочитать тут
    // https://en.wikipedia.org/wiki/HTTP_ETag
    const message = {
    type: "refresh",
    url: response.url,
    eTag: response.headers.get("ETag")
    };
    // Уведомляем клиент об обновлении данных.
    client.postMessage(JSON.stringify(message));
    });
    });
    }

    15:39 27.01.2019
    15:46 27.01.2019

  • Несохраненный_файл.js
Строка: 0, Символ: 0

  • {name}
  • У вас пока нет файлов
 

Проверьте себя,
знаете ли вы значение слов, использующихся в программном коде на уже прочтенных страницах.

 

Правильно!

Не забывайте переодически проходить этот тест по мере чтения новых статей.

 

Ошибка!

 

Осталось: 0 сек.

Health:

Score:

 

Что значит:

 

 

 


Информация

Загрузите файл с исходным кодом программы на языке яваскрипт.

Файл должен содержать одну главную функцию, имя которой должно совпадать с именем файла.

Например, файл называется task1.js, имя главной функции должно быть task1.

Все остальные функции должны быть определены внутри главной.

*

Информация

Сохраняемый код должен содержать одну главную функцию.

Например:

function myFirstProgram() {
	//Тут все остальное, включая вспомогательные функции
}
					




Простой пароль
Пароли не совпадают