Javascript 1.8 - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Проверка знаний синтаксиса языка написания сценариев Javascript 1.8
Смотрите также:
Чему равна переменная s1 после выполнения кода? function closure(a) { var number = 32+a; return function() { return number } } var number = 12; var s1 = closure(10);
(1) 10
(2) 42
(3) '32a'
(4) function() {return number}
Чтобы отменить выполнение функции по таймауту timeout необходимо вызвать:
(1) timeout.stop()
(2) timeout.end()
(3) clearTimeout(timeout)
(4) timeout.break()
Чему соответствует символ \s в регулярных выражениях?
(1) английской букве s
(2) любому пробельному символу из набора ASCII
(3) любой букве
(4) любому ASCII символу
Какой символ в регулярных выражениях обозначает начало строки?
(1) &
(2) $
(3) ^
(4) /
C помощью какой глобальной функции строки преобразуются в десятичные числа?
(1) parseInt()
(2) parseFloat()
(3) parseDouble()
(4) parseString()
Функция isFinite() предназначена для?
(1) определения является ли переданный аргумент бесконечностью
(2) определения является ли переданный аргумент конечным числом
(3) определения является ли переданный аргумент целым числом
(4) определения является ли переданный аргумент положительным числом
Какие системы счисления может принимать функция вторым аргументом функция parseInt()?
(1) 2
(2) 8
(3) 16
(4) 45
В каком из вариантов создания функции-перехватчика(Interceptor), добавляющий к результату 30, для функции func нет ошибок?
(1) function func(a,b) { return a*b; } var oldFunc = func; func = function(a,b) { return oldFunc(a,b) + 30; }
(2) function func(a,b) { return a*b; } func.proxy = function(a,b) { return func(a,b) + 30; }
(3) function func(a,b) { return a*b; } var func = oldFunc; func = function(a,b) { return oldFunc(a,b) + 30; }
(4) function func(a,b) { return a*b; } func = function(a,b) { return oldFunc(a,b).proxy(func) + 30; }
Для реализации метода rewind(), который переустанавливает указатель в начало в итераторе нужен код: var arr = (function(){ var index = 0; var data = [1,2,3,4,5]; var length = data.length; return{ next: function(){ var element; return data[index++] } } })()
(1) … return{ next: function(){ … } rewind: function() { index = 1; } } …
(2) … return{ next: function(){ … } rewind: function() { arr.index = 0; } } …
(3) … return{ next: function(){ … } rewind: function() { var index = 0; } } …
(4) … return{ next: function(){ … } rewind: function() { index = 0; } } …
Найдите ошибку в реализации паттерна "подписчик/издатель" (Publish/Subscribe)? var publisher = { subscribers: { any: [] }, subscribe: function (fn, type) { type = type || 'any'; if (typeof this.subscribers[type] === "undefined") { this.subscribers[type] = []; } }, unsubscribe: function (fn, type) { this.visitSubscribers('unsubscribe', fn, type); }, publish: function (publication, type) { this.visitSubscribers('publish', publication, type); }, visitSubscribers: function (action, arg, type) { var pubtype = type || 'any', subscribers = this.subscribers[pubtype], i, max = subscribers.length; for (i = 0; i < max; i += 1) { if (action === 'publish') { subscribers[i](arg); } else { if (subscribers[i] === arg) { subscribers.splice(i, 1); } } } } };
(1) метод subscribe не сохраняет подписчиков
(2) метод unsubscribe не удаляет подписчиков
(3) метод publish не вызывает методов подписчиков
(4) ошибок нет
Каким образом можно получить доступ к последнему элементу div на странице?
(1) var lastDiv = document.getElementsByTagName('div')[document.getElementsByTagName('div').length-1];
(2) var lastDiv = document.getElementsByTagName('div')[document.getElementsByTagName('div').length];
(3) var lastDiv = document.getElementsByTagName('div')[this.length-1];
(4) var lastDiv = document.getElementsByTagName('div').lastChild;
Каким образом можно вставить в документ фрагмент HTML? <h2> Заголовок </h2> <p> Sed ut perspiciatis, unde omnis iste natus. </p>
(1) var frg = document.createFragmentDocument(); frg.appendChild(document.createElement('h2').text('Заголовок')) frg.appendChild(document.createElement('p').text('Sed ut perspiciatis, undeomnis iste natus.')) document.body.appendChild(frg)
(2) var frg = document.createFragmentDocument(); var text = document.createTextNode('Заголовок') frg.appendChild(document.createElement('h2').appendChild(text)) var text = document.createTextNode('Sed ut perspiciatis, unde omnis istenatus.') frg.appendChild(document.createElement('p').appendChild(text)) document.body.appendChild(frg)
(3) var frg = document.createFragmentDocument(); var text = document.createTextNode('Заголовок') frg.appendChild(document.createElement('h2').appendChild(text)) var text = document.createTextNode('Sed ut perspiciatis, unde omnis istenatus.') frg.appendChild(document.createElement('p').appendChild(text)) document.appendChild(frg)
(4) var frg = document.createDocumentFragment(); var text = document.createTextNode('Заголовок') var h2 = document.createElement('h2'); h2.appendChild(text) frg.appendChild(h2) var text = document.createTextNode('Sed ut perspiciatis, unde omnis istenatus.') var p = document.createElement('p'); p.appendChild(text) frg.appendChild(p) document.body.appendChild(frg)
К чему приведет добавление одной функции как обработчика события дважды? document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func1,false);
(1) функция func1 будет вызвана 2 раза
(2) произойдет ошибка
(3) функция func1 будет вызвана 1 раз
(4) функция func1 не будет вызвана ни разу
Событие "перемещение курсора по области элемента" называется
(1) mousemove
(2) mouseover
(3) mouseout
(4) mousechangecoords
Ссылка на корневой элемент <HTML> находится в:
(1) window.html
(2) document.html
(3) document.documentElement
(4) document.htmlElement
У текстовой ноды в свойстве nodeType содержится значение:
(1) 1
(2) 2
(3) 3
(4) 4
Какой код нужно использовать, чтобы добавить всем дочерним элементам атрибут title содержащий имя элемента?
(1) node.childNodes.forEach(setAttribute('title',child.nodeName));
(2) var child = node.childNodes[0]; while(child != null){ if (child.nodeType == 1){ child.setAttribute('title',child.nodeName) } child = child.nextNode; }
(3) var child = node.childNodes[0]; while(child != null){ if (child.nodeType == 1){ child.setAttribute('title',child.nodeName) } child = child.nextSibling; }
(4) var childs = node.childNodes; for(var i=0;i<childs.length;i++){ if (childs[i].nodeType == 1){ childs[i].setAttribute('title',childs[i].nodeName) } }
Чтобы получить доступ к массиву стилей объекта CSSStyleSheet необходимо обратиться к его свойству
(1) CSSStyleSheet.rules()
(2) CSSStyleSheet.styleArrays
(3) CSSStyleSheet.styleRules
(4) CSSStyleSheet.cssRules
Метод join("+") вернет для массива [1,2,4,5]:
(1) строку "1+2+4+5"
(2) массив [1,3,7,12]
(3) число 12
(4) ошибку, потому что метод не может обработать такой аргумент
Метод Math.ceil():
(1) переводит число в экспоненциальную форму
(2) отбрасывает дробную часть числа
(3) округляет число в меньшую сторону
(4) округляет число в большую сторону
Какие константы содержит объект Math
(1) Math.PI
(2) Math.LN1
(3) Math.LOG10E
(4) Math.LN2
Максимальное возможно число в Javascript хранится в:
(1) Number.MAX_VALUE
(2) Number.POSITIVE_VALUE
(3) Number.MAX_NUMBER
(4) Number.MAX_POSITIVE_VALUE
Для изменения регистра строки нужно использовать методы:
(1) changeRegister
(2) toLowerCase()
(3) toUpperCase()
(4) toUpper()
Метод String.localeCompare() предназначен для:
(1) сравнения строк с учетом национальных алфавитов
(2) сравнения строк без учета национальных алфавитов
(3) создания строк с помощью многобайтных кодировок
(4) изменения регистра с учетом национальных алфавитов
Метод String.fromCharCode() предназначен для
(1) создания строки из кодов символов
(2) создания строки из отдельных символов
(3) создания строки из других строк
(4) такого метода нет
Метод Date.valueOf() возвращает для даты:
(1) строковое представление
(2) локализованное строковое
(3) миллисекундное представление, аналогично get Time()
(4) сам объект даты
Код new Date(2010, 11, 2) создаст объект класса Date содержащий дату:
(1) 2 декабря 2010 г
(2) 2 ноября 2010 г
(3) 3 декабря 2010 г
(4) 3 ноября 2010 г
Для создания объекта запроса необходимо использовать код:
(1) var xhr = new XMLHttpRequest()
(2) var xhr = document.createXMLHttpRequest()
(3) XMLHttpRequest.create()
(4) var xhr = createXMLHttpRequest()()
Какое значение будет иметь свойство readyState, если метод sеnd() был вызван, но ответ от сервера еще не получен:
(1) 1
(2) 2
(3) 3
(4) 4
Метод запроса HEAD используется для:
(1) выполнения обычных запросов, при этом вся передаваемая информация находится в заголовках
(2) получения только заголовков ответа сервера
(3) проверки ответа, при этом не принимаются ни заголовки ни тело ответа
(4) такого метода запроса нет
Метод XMLHttpRequest.abort() предназначен для:
(1) сброса параметров запроса
(2) отмены ожидания ответа от сервер
(3) повторной отправки запроса
(4) такого метода не существует
На какой объект ссылается свойство constructor класса Animal? function Animal(){ this.mame = 'cat'; } var obj = new Animal(); alert(Animal.constructor)
(1) Function()
(2) Object()
(3) Animal()
(4) Window()
Чтобы проверить является ли свойство объекта перечисляемым в цикле for...in нужно использовать метод:
(1) object.propertyIsEnumerable()
(2) object.propertyEnumerable()
(3) object.isEnumerable()
(4) object.isEnumerableInForIn()
Метод hasOwnProperty() возвратит значения: var o = new Object(); o.x = 3.14; alert(o.hasOwnProperty("x")) alert(o.hasOwnProperty("y"))
(1) false, null
(2) true, undefined
(3) true, false
(4) false, true
Код var array = [0, 1, 1, 0].reduce(function(a, b){ return a * b; }) поместит в переменную array:
(1) [0,1,2,0]
(2) 2
(3) 1
(4) 0
Как обозначаются в Javascript числа в троичной системе счисления?
(1) \u3_122
(2) 03x122
(3) 0x3122
(4) Javascript не имеет встроенных методов представления чисел в троичной системе счисления
Инструкция try{ … }catch(e){ … } предназначена для:
(1) создания дочернего потока выполнения кода
(2) измерения производительности кода
(3) обработки исключительных ситуаций
(4) организации блоков кода
Метод toString() вызванный для функции:
(1) отобразит имя функции
(2) отобразит имя и полный исходный код функции
(3) отобразит полный исходный код функции
(4) бросит исключение typeError
Чтобы cookie передавалось только по протоколу https при его создании нужно указать атрибут:
(1) secure
(2) security
(3) https
(4) ssl
Для подключения внешней библиотеки javascript с помощью тэга <script> необходимо:
(1) указать в атрибуте link адрес библиотеки
(2) указать в атрибуте href адрес библиотеки
(3) указать в атрибуте src адрес библиотеки
(4) указать в атрибуте import адрес библиотеки
Что отобразит браузер после выполнения кода? var module = { name: 'Elis', say: function(name) { alert('Hello ' + name ) }, } module.say('Silvia');
(1) "Hello Silvia"
(2) "Hello undefined"
(3) "Hello Elis"
(4) "Hello "
Что произойдет, если во время срабатывания таймаута(setTimeout(func)) Javascript уже будет занят обработкой другой функции?
(1) таймаут сработает только после того как закончится работа другой функции
(2) другая функция приостановит исполнение до тех пор пока не отработает функция вызванная таймаутом
(3) javascript полностью остановит выполнения другой функции и будет выполнять функцию вызванную таймаутом
(4) будет брошено исключение
Какой строке соответствует регулярное выражение /\d{3,5}\S\d+/?
(1) "10000"
(2) "222ww4"
(3) "100w2"
(4) "qqq22"
Какой символ в регулярных выражениях обозначает конец строки?
(1) &
(2) $
(3) ^
(4) /
За что отвечает 2 аргумент функции parseFloat?
(1) за максимальную длину преобразованного числа
(2) за символ которым следуют разделять целую часть и мантиссу числа
(3) 2-го аргумента у функции нет
(4) за систему счисления в которую нужно преобразовать число из строки
Функция isNaN() предназначена для:
(1) определения является ли переданный аргумент некорректным числом
(2) определения является ли переданный аргумент конечным числом
(3) определения является ли переданный аргумент целым числом
(4) определения является ли переданный аргумент положительным числом
Выражение parseInt("11", 2) равно
(1) 11
(2) 3
(3) 10
(4) NaN
Какой результат будет выведен в браузер после выполнения кода? function add(a,b){ return a+b*5 } var oldAdd = add; add = function(a,b) { return oldAdd(a,b) + 23; } var oldAdd2 = add; add = function(a,b) { return oldAdd2(a,b) + 13; } alert(add(42,3))
(1) 70
(2) в коде ошибка
(3) 93
(4) 83
Метод current() нужен в данной реализации итератора для var arr = (function(){ var index = 0; var data = [1,2,3,4,5]; var length = data.length; return{ next: function(){ var element; return data[index++] } current: function () { return data[index]; } } })()
(1) возвращения текущего значения массива
(2) установки курсора в начальное положение
(3) возвращения следующего элемента
(4) возвращения предыдущего элемента
Какой результат будет выведен после выполнения кода? var num = 1999; var it = Iterator(num); for (var a in it) { document.write(a); }
(1) 1999
(2) "1", "9", "9", "9"
(3) метод Iterator выбросит исключение
(4) undefined
Для создания структуры, не имеющей главного родительского элемента, нужно использовать метод:
(1) document.createDocumentStructure()
(2) document.createFragmentDocument()
(3) document.createDocumentFragment()
(4) document.createFragment()
Аргумент метода cloneNode() предназначен для того чтобы:
(1) у метода нет аргументов
(2) указать максимальный уровень вложенности дочерних элементов которых нужно копировать
(3) указать копировать ноду с дочерними элементами или без дочерних элементов
(4) указать копировать ноды с атрибутами или без атрибутов
За что отвечает метод event.stopPropagation() объекта Event?
(1) если его вызвать, будет отменено событие по умолчанию
(2) если его вызвать, событие не будет распространяться дальше
(3) если его вызвать, все остальные обработчики не будут вызваны в дальнейшем
(4) если его вызвать, событие нельзя будет остановить при дальнейшем распространении
Координаты события click относительно экрана в объекте Event содержаться в свойствах:
(1) clientX и clientY
(2) screenX и screenY
(3) x и y
(4) X и Y
Для того чтобы создать новый объект Range нужно вызвать метод
(1) window.createRange()
(2) document.createRangeObject()
(3) document.createRange()
(4) document.createTextRange()
Если у ноды в свойство nodeType равно 2, значит эта нода:
(1) атрибут
(2) элемент
(3) текст
(4) документ
Чтобы заменить в документе oldNode на newNode нужен код:
(1) document.replaceChild(newNode,oldNode)
(2) document.replaceChild(oldNode,newNode)
(3) oldNode.parentNode.replaceChild(oldNode,newNode)
(4) oldNode.parentNode.replaceChild(newNode,oldNode)
Для того чтобы выключить все правила таблицы стилей CSSStyleSheet необходимо
(1) установить в свойстве enabled значение false
(2) установить в свойстве disabled значение yes
(3) установить в свойстве disabled значение true
(4) установить в свойстве enabled значение no
Фрагмент кода var array = new Array(4); создаст
(1) массив [1,2,3,4]
(2) массив из 4 пустых элементов
(3) массив [4]
(4) массив [0,0,0,0]
Чтобы округлить число в меньшую сторону нужно использовать метод:
(1) Math.ceil()
(2) Math.floor()
(3) Math.round()
(4) Math.ceil(true)
Метод Math.round():
(1) отбрасывает дробную часть
(2) округляет число в меньшую сторону
(3) округляет число в большую сторону
(4) округляет число до ближайшего целого
Выражение 12345.6789.toExponential(1) равно:
(1) 1.2e+4
(2) 1.2e+5
(3) 12345.6
(4) 12345.7
Чтобы преобразовать строку в массив подстрок нужно использовать метод:
(1) StringToArray()
(2) String.split()
(3) String.toArray()
(4) String.explode()
Какое значение возвратит метод indexOf() если подстрока не будет найдена?
(1) 0
(2) -1
(3) null
(4) undefined
Чтобы получить доступ к отдельным символам строки нужно:
(1) использовать свойство string.chars[1]в котором содержится массив всех символов строки
(2) использовать нотацию массивов string[1]
(3) использовать метод string.charAt(1)
(4) использовать метод string.char(1)
Чтобы получить у объекта Date локализованное строковое представление, нужно использовать метод:
(1) date.getLocaleString()
(2) date.toLocaleString()
(3) date.getLocaleDate()
(4) date.toString()
Код new Date(2010, 1, 1) создаст объект класса Date содержащий дату:
(1) 1 января 2010 г.
(2) 1 февраля 2010 г.
(3) 2 февраля 2010 г.
(4) 2 января 2010 г.
Для осуществления запроса POST необходимо
(1) установить свойство объекта запроса xhr.request = 'POST'
(2) передать первым аргументом методу xhr.open() значение 'POST'
(3) указать при создании объекта запроса аргумент var xhr = new XMLHttpRequest('POST')
(4) вызывать у объекта запроса метод post()
При выполнении запроса, код ответа сервера содержится в свойстве:
(1) xhr.status
(2) xhr.statusServer
(3) xhr.serverStatus
(4) xhr.serverCode
Для отправки асинхронного запроса на сервер нужно
(1) указать 3 параметром методу XMLHttpRequest.open() - true
(2) указать 3 параметром методу XMLHttpRequest.open() - false
(3) указать 3 параметром методу XMLHttpRequest.open() - sync
(4) присвоить свойству sync объекта XMLHttpRequest значение true
С помощью какого метода можно отправить повторный запрос на сервер в случае неудачи первого запроса?
(1) xhr.againRequest(10);
(2) xhr.sendRequest(10);
(3) xhr.sendNumRequest(10);
(4) такого метода нет
Чему будет равно свойство id объекта animal после выполнения кода? Object.prototype.id = 32; function Animal(){ id = '33'; } Animal.id = '41' var obj = new Animal(); alert(obj.id)
(1) 33
(2) 41
(3) 32
(4) undefined
В каком из вариантов правильно реализовано наследование?
(1) function One(name){ } function Two(name){ } Two.prototype = One
(2) function One(name){ } function Two(name){ } Two.prototype = new One();
(3) function One(name){ } function Two(name){ } Two.prototype = One();
(4) function One(name){ } function Two(name){ } Two.extend(new One());
Свойства в каком объекте будут иметь приоритет при поиске значения определенного свойства в цепочке наследования?
(1) свойства класса
(2) свойства самого объекта
(3) свойства прототипа
(4) свойства Object()
Инструкция typeof null возвратит:
(1) object
(2) undefined
(3) nukk
(4) NaN
В какой системе счисление представлено число 0x10?
(1) восьмеричная
(2) шестнадцатеричная
(3) двоичная
(4) десятичная
Чтобы при передаче функции числа аргументов отличного от того, что было указано при её объявлении было брошено исключению, нужно использовать код:
(1) function one(a,b){ if (function.arguments.length != arguments.length){ throw new Error()} ... }
(2) function one(a,b){ if (function.length != arguments.length){ throw new Error()} ... }
(3) function one(a,b){ if (function.length != parameters.length){ throw new Error()} ... }
(4) function one(a,b){ if (function.length != arguments.length){new Error()} ... }
Как можно получить доступ к переменным внутри функции, которые не были указаны при создании функции?
(1) с помощью массива this.arguments
(2) с помощью массива parameters
(3) с помощью массива arguments
(4) в функции можно получить доступ лишь к тем аргументам, которые были указаны при создании функции
Чтобы создать новый элемент cookie нужно:
(1) присвоить document.cookie строку с ключом, значением и атрибутами
(2) вызывать метод document.createCookie() и передать ему строку с ключом, значением и атрибутами
(3) вызывать метод document.insertCookie() и передать ему строку с ключом, значением и атрибутами
(4) создать новый объект класса Cookie new Cookie() и передать ему строку с ключом, значением и атрибутами
Для решения проблем производительности в коде нужно использовать инструмент:
(1) консоль
(2) профайлер
(3) отладчик
(4) для логирования
Что отобразит браузер после выполнения кода?? var module = { name: 'Elis', say: function(name) { alert('Hello ' + this.name ) }, } module.say('Silvia');
(1) "Hello Silvia"
(2) "Hello undefined"
(3) "Hello Elis"
(4) "Hello "
В какой области видимости исполняются функции переданные setInterval?
(1) всегда в области глобальной видимости
(2) всегда в области локальной видимости
(3) в той области видимости в которой определены сами функции
(4) в той области видимости в которой вызывается setInterval
Регулярное выражение ^[-.\w]+@(?:[a-z\d][-a-z\d]+\.)+[a-z]{2,6}$ соответствует:
(1) любому индексу города
(2) любому телефонному номеру
(3) любому URL
(4) любому e-mail
Для поиска подстроки, состоящего из трех цифр, пробела и от 1 до 4 букв "a" или "d", необходимо регулярное выражение:
(1) /\d{3}\s[ad]{1,4}/
(2) /\d(3)\s[ad](1,4)/
(3) /\d{3}\S[ad]{1,4}/
(4) /\d{3}\s(ad){1,4}/
Если преобразовать строку в число не удаётся, функция parseFloat возвратит:
(1) null
(2) NaN
(3) 0
(4) undefined
В результате работы следующего кода s будет иметь значение: var s = 42; eval("s+=45"); if (s>42){s+=21}
(1) 42
(2) 108
(3) 87
(4) 128
Функция encodeURI() предназначена для:
(1) кодирования URI алгоритмом MD5
(2) вычисления хэша URI алгоритмом CRC32
(3) кодирования URI с помощью управляющих последовательностей
(4) перекодирования URI в кодировке utf-8
Для реализации итератора для массива [1,2,3,4,5] необходим код
(1) var arr = (function(){ var index = 0; var data = [1,2,3,4,5]; var length = data.length; next: function(){ var element; return data[index++] })()
(2) var arr = (function(){ var index = 0; var data = [1,2,3,4,5]; var length = data.length; return{ next: function(){ var element; return data[index++] } } })()
(3) var arr = (function(){ var index = 0; var data = [1,2,3,4,5]; var length = data.length; return{ next = function(){ var element; return data[index++] } } })()
(4) var arr = (function(){ var index = 0; var data = [1,2,3,4,5]; var length = data.length; return data[index] })()
Какой результат будет выведен при исполнении следующего кода var str = 'Java'; var it = Iterator(str); for (var a in it) { document.write(a); }
(1) "J" "a" "v" "a"
(2) [0, "J"] [1, "a"] [2, "v"] [3, "a"]
(3) {0 : "J"} {1 : "a"} {2 : "v"} {3 : "a"}
(4) ошибка, потому что итератор не может работать со строками
Для того что бы сделать из любого объекта "издателя" в паттерне "подписчик/издатель" (Publish/Subscribe) с помощью этого кода, нужно использовать функцию: var publisher = { subscribers: { any: [] }, subscribe: function (fn, type) { type = type || 'any'; if (typeof this.subscribers[type] === "undefined") { this.subscribers[type] = []; } this.subscribers[type].push(fn); }, unsubscribe: function (fn, type) { this.visitSubscribers('unsubscribe', fn, type); }, publish: function (publication, type) { this.visitSubscribers('publish', publication, type); }, visitSubscribers: function (action, arg, type) { var pubtype = type || 'any', subscribers = this.subscribers[pubtype], i, max = subscribers.length; for (i = 0; i < max; i += 1) { if (action === 'publish') { subscribers[i](arg); } else { if (subscribers[i] === arg) { subscribers.splice(i, 1); } } } } };
(1) function makePublisher(o) { for (i in publisher) { o[i] == publisher[i]; } }
(2) function makePublisher(o) { var i; for (i in publisher) { if (publisher.hasOwnProperty(i) && typeof publisher[i]==="function") { o[i] = publisher[i]; } } о.subscribers = {any: []}; }
(3) function makePublisher(o) { o = publisher; о.subscribers = {any: []}; }
(4) function makePublisher(o) { var i; for (i in publisher) { if (publisher.hasOwnProperty(i) && typeof publisher[i]==="function") { o[i] = publisher[i]; }else{ i++ } } о.subscribers = {any: []}; }
Каким образом можно найти все ноды c атрибутом title равным строке "message"?
(1) var list = document.getElements("*"); for(var i=0;i < list.length;i++) { if(list[i].getAttribute('title')=='message') { … } }
(2) var list = document.getElementsByTagName("*"); for(var i=0;i < list.length;i++) { if(list[i].getAttribute('title')=='message') { … } }
(3) var list = document.getElementsByTagName("all"); for(var i=0;i < list.length;i++) { if(list[i].getAttribute('title')=='message') { … } } с
(4) var list = document.getElementsByTagName(); for(var i=0;i < list.length;i++) { if(list[i].getAttribute('title')=='message') { … } }
Для создании копии ноды нужно использовать метод
(1) copyNode()
(2) cloneNode()
(3) layoutNode()
(4) cloneDOMNode()
Как добавить все элементам <p> обработчик showTitle события click в фазе всплытия?
(1) var list = document.getElementsByTagName('p'); for(var i=0;i<list.length;i++){ list.addEventListener('click',showTitle,false) }
(2) var list = document.getElementsByTagName('p'); for(var i=0;i<list.length;i++){ list[i].addEventListener('click',showTitle(),false) }
(3) var list = document.getElementsByTagName('p'); list.addEventListener('click',showTitle,false)
(4) var list = document.getElementsByTagName('p'); for(var i=0;i<list.length;i++){ list[i].addEventListener('click',showTitle,false) }
Для того чтобы отменить действие по умолчанию в обработчике события нужно:
(1) вызвать внутри обработчика event.abort()
(2) вернуть из обработчика false
(3) вызвать внутри обработчика метод event.preventDefault()
(4) вызвать внутри обработчика метод event.stopPropagation()()
Какое событие генерируется при загрузке каркаса DOM документа?
(1) load
(2) loadDOM
(3) contentLoaded
(4) DOMContentLoaded
Чтобы получить доступ к массиву, содержащему все дочерние элементы ноды, необходимо обратиться к свойству ноды:
(1) childArray
(2) childs
(3) childNodes
(4) nodeChilds
Метод Node.hasChildNodes() возвращает:
(1) true в случае у ноды есть хотя бы один дочерний элемент любого типа
(2) true в случае у ноды есть хотя бы один текстовый дочерний элемент
(3) массив дочерних элементов, либо null, если дочерних элементов нет
(4) true в случае нода может иметь дочерние элементы
Объект CSSRule массива cssRules имеет свойства:
(1) style
(2) selectorText
(3) selector
(4) styleText
Чтобы удалить последний элемент массива нужно использовать метод:
(1) array.push()
(2) array.shift()
(3) array.pop()
(4) array.unshift()
Метод для получения абсолютного значения(модуля) числа:
(1) Math.abs()
(2) Math.absolute()
(3) Math.valueOf()
(4) Math.module()
Чтобы получить случайное число в интервале от 22 до 43 нужен код:
(1) Math.random('22-43')
(2) Math.random(22,43)
(3) Math.random()*21+22
(4) Math.random({begin:22,end:43})
Выражение 12345.toPrecision(3) равно:
(1) 123.0e+3
(2) 123e+4
(3) 123.0e+2
(4) в коде ошибка
Чтобы разбить предложение "Sed ut perspiciatis unde omnis iste natus error" на массив, каждый элемент которого равен одному слову нужно использовать код:
(1) var str = "Sed ut perspiciatis unde omnis iste natus error" var arr = []; arr[0]=''; var k = 0; for(var i=0;i<str.length;i++){ if (str.charAt(i) != ' '){ k++;arr[k]=''; }else{ arr[k]+=str.charAt(i); } }
(2) var str = "Sed ut perspiciatis unde omnis iste natus error" var arr = []; arr[0]=''; var k = 0; for(var i=0;i<str.length;i++){ if (str.charAt(i) == ' '){ k++;arr[k]=''; }else{ arr[k]+=str.charAt(i); } }
(3) var str = "Sed ut perspiciatis unde omnis iste natus error" var arr = str.split(' ');
(4) var str = "Sed ut perspiciatis unde omnis iste natus error" var arr = []; arr[0]=''; var k = 0; for(var i=0;i<str.length;i++){ if (str.charAt(i) == ' '){ }else{ arr[k]+=str.charAt(i); } }
Метод String.indexOf() принимает вторым аргументом:
(1) позицию в строке, до которой нужно искать
(2) функцию, которая будет вызвана в случае успешного поиска
(3) позицию в строке, с которой нужно начинать поиск
(4) у метода нет второго аргумента
Чтобы получить код символа в кодировке utf-8 нужно использовать метод:
(1) String.code()
(2) String.charCode()
(3) String.charCodeAt()
(4) String.char()
Чтобы установить в экземпляре класса Date 2011-й год нужно использовать метод:
(1) date.Year(2011)
(2) date.years=2011
(3) date.setFullYear(2011)
(4) date.fullYears=2011
Чтобы установить в экземпляре класса Date месяц - август, нужно передать методу setMonth():
(1) 9
(2) 8
(3) 7
(4) "august"
Для отправки запросов служит метод:
(1) xhr.send()
(2) xhr.open()
(3) xhr.call()
(4) xhr.post()
C какими префиксами может работать объект XMLHttpRequest?
(1) http://
(2) file://
(3) ftp://
(4) mailto://
Какое значение свойства readyState говорит о том, что идет получение ответа сервера?
(1) 1
(2) 2
(3) 3
(4) 4
Каким образом можно узнать, что запрос завершился неудачей?
(1) ... xhr.onreadystatechange = function() { if (request.readyState == 4) { if (request.status != 200) { // обработка ошибки } ...
(2) ... xhr.onreadystatechange = function() { if (request.readyState == 4) { if (request.status == 200) { // обработка ошибки } ...
(3) ... xhr.onreadystatechange = function() { if (request.readyState == 3) { if (request.status != 200) { // обработка ошибки } ...
(4) ... xhr.onreadystatechange = function() { if (request.readyState == 1) { if (request.status == 200) { //обработка ошибки } ...
Какой объект в javascript стоит на вершине иерархии объектов?
(1) Function()
(2) Object()
(3) Animal()
(4) Window()
С помощью какого метода можно определить является ли один объект прототипом другого?
(1) object.isPrototype()
(2) object.isPrototypeOf()
(3) object.prototypeOf()
(4) object.isPrototypeFor()
Что будет выведено в браузер после выполнения кода? var o = new Object(); o.id = 1; o.name = "myObject"; alert(o.toString())
(1) o - {"id":1,"name":"myObject"}
(2) {"id":1,"name":"myObject"}
(3) [object myObject]
(4) [object Object]
Какое значение будет иметь переменная a после выполнения кода: var a = [22, 11].reduceRight(function(a, b) { return a.concat(b); }, []);
(1) [11,22]
(2) [22,11]
(3) 33
(4) "33"
Выражение 4*2+'42'*2 равно:
(1) "42422"
(2) "82"
(3) "92"
(4) "8422"
Какое свойство объекта Error предназначено для хранения строки, содержащей тип ошибки?
(1) error.description
(2) error.message
(3) error.title
(4) error.name
Чтобы вызвать метод show() объекта one от имени объекта two нужно использовать код: var one = {} one.show = function() { alert(this.name) } var two= {}; two.name = 'John';
(1) window.call(two,one.show)
(2) two.show()
(3) show.call(two)
(4) one.show.call(two)
Чтобы cookie были доступны на всех страницах сервера site.ru нужно указать:
(1) в атрибуте domain указать 'all', а в атрибуте path - '/'
(2) в атрибуте domain указать 'all domain', а в атрибуте path - 'all pages'
(3) в атрибуте domain указать 'server', а в атрибуте path - 'all pages'
(4) в атрибуте domain указать '.site.ru', а в атрибуте path - '/'
Отладчик (Debugger) необходим для:
(1) логирования событий
(2) поиска сетевых ошибок
(3) решения проблем производительности в коде
(4) пошагового выполнения кода
Какие значения и в каком порядке возвратятся при вызове функции func? function createCounter() { var numberOfCalls = 0; return function() { return ++numberOfCalls; } } var func = createCounter(); func(); func(); func();
(1) 1,1,1
(2) 0,0,0
(3) 0,1,2
(4) 1,2,3
Чтобы отменить выполнение функции по интервалу timer необходимо вызвать метод:
(1) timer.stop()
(2) timer.end()
(3) clearInterval(timer)
(4) timer.break()
Чему соответствует управляющая последовательность \d в регулярных выражениях?
(1) английской букве "d"
(2) любой цифре
(3) сочетанию символов "\d"
(4) любому ASCII символу
Какие флаги могут быть у регулярных выражений в Javascript?
(1) g
(2) i
(3) m
(4) u
C помощью какой глобальной функции строки преобразуются в числа?
(1) parseStr()
(2) parseInt()
(3) parseInteger()
(4) parseString()
Функция escape() предназначена для:
(1) декодирования строки, закодированной функцией unescape
(2) преобразования строки из одной кодировки в другую
(3) преобразования строки - замены определенных символов (недопустимых в URL) на шестнадцатеричные управляющие последовательности
(4) удаления из текста управляющих последовательностей
Что подразумевает под собой паттерн "цепочка функций" (Function Chaining)?
(1) вызов методов объекта, которые возвращают этот же объект для дальнейшего использования
(2) создание вложенных функций
(3) последовательный вызов всех методов объекта в цикле
(4) создание вложенных анонимных функций
Как должна быть реализована "функция-перехватчик" (Interceptor) для функции say? function say(name) { return name; }
(1) var oldSay = say; say = function(name) { return oldSay(name) + "!"; }
(2) say.Intercept(name) { return say(name) + "!"; }
(3) var oldSay = old; function oldSay() { return say(name) + "!"; }
(4) say.Intercept = new Intercept(); { return say(name) + "!"; }
Что возвратит при третьем вызове метод next()? var it = Iterator({x:10,y:20}); it.next(); it.next(); it.next();
(1) метод возвратит ["x",10]
(2) метод возвратит undifined
(3) метод возвратит null
(4) будет брошено исключение StopIteration
Что будет если в паттерне "Подписчик/Издатель" (Publish/Subscribe) один из подписчиков будет слишком долго обрабатывать событие от издателя?
(1) события других подписчиков будут обрабатываться в других потоках процессора
(2) события других подписчиков будут обрабатываться после того как процессор остановит поток
(3) произойдет ошибка "превышено время ожидания события"
(4) события других подписчиков будут ждать своей очереди, потому что Javascript исполняется всегда в одном потоке
Каким образом можно добавить в конец документа тэг <div>?
(1) var div = document.creatElement('div'); document.body.appendChild(div)
(2) var div = document.creatHTMLDivElement('div'); document.body.appendChild(div)
(3) var div = document.creatElement('div'); document.body.addElement(div)
(4) var div = new Div(); document.body.appendChild(div)
Каким образом можно создать такую структуру: <div> ... </div> <div> ... </div> и вставить её в документ?
(1) var frg = document.createFragmentDocument(); frg.appendChild(document.createElement('div')) frg.appendChild(document.createElement('div')) document.body.appendChild(frg)
(2) var frg = document.createHTMLFragment(); frg.appendChild(document.createElement('div')) frg.appendChild(document.createElement('div')) document.body.appendChild(frg)
(3) var frg = document.createFragment(); frg.appendChild(document.createElement('div')) frg.appendChild(document.createElement('div')) document.body.appendChild(frg)
(4) var frg = document.createDocumentFragment(); frg.appendChild(document.createElement('div')) frg.appendChild(document.createElement('div')) document.body.appendChild(frg)
Какой из обработчиков будет вызван раньше? document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func2,true);
(1) func1
(2) нельзя заранее сказать какой обработчик будет вызван раньше
(3) func2
(4) у объекта body нет метода addEventListener()
Событие mouseout возникает при
(1) переходе курсора мышки на дочерний элемент
(2) переходе курсора мышки на родительский элемент
(3) перемещении курсора по элементу
(4) клике на элемент
Чтобы вставить текст "Sed ut perspiciatis, unde omnis iste natus error." в ноду с id="latin" нужно использовать код:
(1) document.getElementById("latin").appendChild("Sed ut perspiciatis, unde omnis iste natus error")
(2) document.getElementById("latin").appendText("Sed ut perspiciatis, unde omnis iste natus error")
(3) document.getElementById("latin").appendChild(document.createTextNode("Sed ut perspiciatis, unde omnis iste natus error"))
(4) document.getElementById("latin").appendChild(document.createText("Sed ut perspiciatis, unde omnis iste natus error"))
С помощью какого метода можно добавить правило в таблицу стилей CSSStyleSheet?
(1) CSSStyleSheet.insertRule()
(2) CSSStyleSheet.createRule()
(3) CSSStyleSheet.newRule()
(4) CSSStyleSheet.appendRule()
Какие значения будут в массиве после выполнения кода? var ar = [1,2,3,4,5,6,7,8,9,10]; ar.pop(2); ar.pop(2); ar.shift(2) ar.push(5) ar.pop(3); ar.unshift(3)
(1) [1,2,3,4,5,6,7,8]
(2) [1,2,3,4,5,6]
(3) [3,2,3,4,5,6,7,8]
(4) [6,2,3,1,2,6,7,8]
Чтобы получить из массива [1,2,3,4,5] строку "1:2:3:4:5" нужно использовать метод:
(1) [1,2,3,4,5].explode(":")
(2) [1,2,3,4,5].emplade(":")
(3) [1,2,3,4,5].concat(":")
(4) [1,2,3,4,5].join(":")
Создаваемый без аргументов объект класса Date - (var date = new Date()) равен:
(1) текущей дате в компьютере
(2) 1 сентября 1970 года
(3) 1 января 2000
(4) 1 января 1 года н.э.
Выражение Math.pow(Math.abs(Math.ceil(-1,99)),0) равно:
(1) 2
(2) 0
(3) NaN
(4) 1
Какие методы тригонометрических функций содержит объект Math?
(1) Math.sin()
(2) Math.sinus()
(3) Math.asin()
(4) Math.acos()
Что выведет на экран данный код? var n = new Number(2); var biggest = n.MAX_VALUE alert(biggest)
(1) undefined
(2) 1,79E+308
(3) 99999999999999
(4) infinity
Выражение "Javascript".charAt(1).concat("Javascript".charAt( "Javascript".length-1)) равно:
(1) "Jt"
(2) "at"
(3) "ap"
(4) "Ja"
После выполнения кода массив result var url = /(\w+):\/\/([\w.]+)\/(\S*)/; var text = "Заходите на страницу http://www.intuit.com/about.html"; var result = text.match(url); будет равен:
(1) ["http://www.intuit.com/about.html","http ","www.intuit.com","about.html"]
(2) ["http","www.intuit.com","about.html"]
(3) ["http://www.intuit.com/about.html"]
(4) [null]
Создание объекта запроса производится с помощью конструктора:
(1) XMLHttpRequest()
(2) XMLHTTPRequest()
(3) XmlHttpRequest()
(4) Request()
Чтобы преобразовать ответ от сервера, responseTextпришедший в формате JSON, в нативный Javascript объект нужно использовать код:
(1) var s = eval(responseText)
(2) var s = JSON.stringify(responseText)
(3) var s = JSON.parse(responseText)
(4) var s = new Object(responseText)
Какие методы запросов могут быть у объекта XMLHttpRequest?
(1) GET
(2) POST
(3) HEAD
(4) BODY
Чтобы отменить запрос нужно вызвать метод:
(1) XMLHttpRequest.stop()
(2) XMLHttpRequest.abort()
(3) XMLHttpRequest.end()
(4) XMLHttpRequest.abortRequest()
Какое свойство экземпляров объекта будет ссылать на функцию Animal? function Animal(){ this.name = 'cat'; } var obj = new Animal();
(1) obj.constructor
(2) obj.function
(3) obj.class
(4) obj.prototype.constructor
Какое значение примет свойство prop объекта animal после выполнения кода? function Animal(){ this.mame = 'cat'; } Animal.prototype.prop = 10; Animal.prototype.constructor.prototype.prop = 20; var animal = new Animal();
(1) 20
(2) 10
(3) undifined
(4) null
Что покажет браузер после выполнения кода? function Animal(){ } var animal = new Animal(); alert(Animal.prototype.constructor)
(1) Function()
(2) Object()
(3) Animal(){}
(4) Object(){native code}
Код var total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; }) поместит в переменную total значение:
(1) [0,1,3,6]
(2) 10
(3) [1,3,6,10]
(4) 6
Как обозначаются в Javascript числа в шестнадцатеричной системе счисления?
(1) \uA2
(2) 0A2
(3) 0xA2
(4) x16_A2
Чтобы "отловить" ошибку (исключение) в Javascript необходимо:
(1) поместить блок кода, где возможна ошибка в блок try{} и в случае возникновения ошибки сработает глобальная функция error(e)
(2) поместить блок кода, где возможна ошибка в блок danger{} и в случае возникновения ошибки обработать её в блоке error(e){}
(3) поместить блок кода, где возможна ошибка в блок try{} и в случае возникновения ошибки обработать её в блоке catch(e){}
(4) написать обработчик события exception объекта document
Каким образом можно вызвать метод одного объекта от имени другого?
(1) c помощью метода функции call(объект, аргументы)
(2) c помощью метода функцииapply(объект, аргументы)
(3) c помощью метода функцииsend(объект, аргументы)
(4) c помощью метода функцииrun(объект, аргументы)
Какое значение x покажет браузер? var x = 2; function a(){ var x = 10; function b(){ alert(x) } b.x = 0; b(); } a.x = 5; a();
(1) 2
(2) 0
(3) 5
(4) 10
Какие варианты из приведенных ниже - не содержит ошибок?
(1) for(i++;i<20;i=0)
(2) for(var i=0;i++;i<20)
(3) for(var i=0;i<20;i++)
(4) for(;;)
Какой результат будет выведен после выполнения кода: var s = 0; for(var i=0;i<10;i++) { if(s % 2 ==0 ) continue; s++ } alert(s)
(1) s==0
(2) s==10
(3) s==5
(4) s==9
Чтобы записать в cookie дату последнего изменения страницы с временем жизни 1 год нужен код:
(1) var nextyear = new Date(); nextyear.setFullYear(nextyear.getFullYear() + 1); document.cookie = "version=" + document.lastModified + "; age=" + nextyear.toGMTString();
(2) var nextyear = new Date(); nextyear.setFullYear(nextyear.getFullYear() + 1); document.cookie = "version=" + document.lastModified + "; old=" + nextyear.toGMTString();
(3) var nextyear = new Date(); nextyear.setFullYear(nextyear.getFullYear() + 1); document.cookie = "version=" + document.lastModified + "; expires=" + nextyear.toGMTString();
(4) var nextyear = new Date(); nextyear.setFullYear(nextyear.getFullYear() + 1); document.cookie = "version=" + document.lastModified + "; timeLife=" + nextyear.toGMTString();
Для импорта библиотек javascript необходимо:
(1) использовать метод document.loadScript()
(2) использовать директиву &import
(3) создавать в ХТМЛ новые тэги <script>и присваивать атрибуту srcадрес библиотеки
(4) использовать функцию include()
Какое значение возвратит функция func? function createCounter(n) { return function() { return n; } } var func = createCounter(10); n = 24; var func2 = createCounter(15); func();
(1) 10
(2) 0
(3) 24
(4) 15
Сколько раз будет вызвана функция func во время выполнения цикла, если цикл будет продолжаться 4 секунды? setInterval(func1,1000); var s= ''; for(var i=0;i<10000000;i++) { s+=i+"text"+i*i; } function func1() { document.write('Функция выполнена') }
(1) 0
(2) 1
(3) 3
(4) 4
Какой строке соответствует регулярное выражение /\w{3,5}\s\d?/?
(1) "www 4"
(2) "ww 4"
(3) "wwww "
(4) "wwww d"
Что обозначает флаг i в регулярных выражениях Javascript?
(1) нечувствительность к регистру
(2) поиск всех соответствий
(3) однострочный режим
(4) такого флага нет
За что отвечает 2-й аргумент функции parseInt()?
(1) за максимальную длину преобразованного числа
(2) за то с какого символа по порядку нужно начинать преобразовывать строку в число
(3) 2 аргумента у функции нет
(4) систему счисления в которую нужно преобразовать число из строки
Какое значение возвратит функция parseFloat('s2.42')?
(1) null
(2) NaN
(3) undifined
(4) 2.42
(5) 2
Как правильно использовать цепочку функций (Function Chaining) на основе объекта MathChain? MathChain = function() { this.pass = function() { var ar = []; for(var i=0;i<arguments.length;i++) { ar.push(arguments[i]) } this.multiply = eval(ar.join('*')); this.add = eval(ar.join('+')); return this; } }
(1) new MathChain().pass(5, 10, 20).add.multiply;
(2) new MathChain().pass(5, 10, 20).multiply;
(3) new MathChain().pass(5, 10, 20).MathChain().multiply;
(4) new MathChain().pass(5, 10, 20).add.MathChain().multiply;
Что выведет браузер после выполнения кода? function add(a,b){ return a+b*5 } var oldAdd = add; add = function(a,b) { return oldAdd(a,b) + 23; } alert(add(42,3))
(1) 80
(2) в коде ошибка
(3) 42
(4) 83
Как создать итератор для объекта {x:10,y:20}?
(1) Iterator({x:10,y:20});
(2) document.createIterator({x:10,y:20})
(3) {x:10,y:20}.toIterator()
(4) Iterator.create({x:10,y:20})
Какой результат будет выведен в браузер после выполнении следующего кода var langs = ['JavaScript', 'Python', 'C++']; var it = Iterator(langs); for (var pair in it) { document.write(pair); }
(1) 1, 2, 3
(2) 0, 1, 2
(3) 'JavaScript', 'Python', 'C++'
(4) [0:'JavaScript'],[1:'Python'],[2:'C++']
Как восстановить в документе ноду, удаленную методом removeNode()?
(1) использовать метод ressurectionNode()
(2) удаленную ноду восстановить невозможно
(3) метод removeNode() возвращает ноду, которую можно сохранить в переменной и в дальнейшей использовать в документ
(4) используя глобальный массив window.removalNodes
Как нужно использовать метод insertAfter() для вставки в документ ноды nodeDiv?
(1) нужно вызывать этот метод у ноды после которой нужно вставить ноду nodeDiv
(2) нужно вызывать этот метод у ноды перед которой нужно вставить ноду nodeDiv
(3) такого метода не существует
(4) нужно вызывать этот метод у объекта document передав ему первым параметром ноду nodeDiv и вторым ту после которой её нужно вставить
Сколько раз будет выполнена функция func1 при клике на странице? document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func1,true); function func1(e) { e.stopPropagation() }
(1) 0
(2) 1
(3) 2
(4) 3
Координаты события click относительно документа в объекте Event содержатся в свойствах:
(1) clientX и clientY
(2) screenX и screenY
(3) x и y
(4) X и Y
Чтобы найти все тэги <h1> c классом blue нужно использовать код:
(1) var s = document.getElementByTags('h1') for(var i=0;i<s.length;i++) { if (s[i].className="blue") { ... } }
(2) var s = document.getElementsByTagsNames('h1') for(var i=0;i<s.length;i++) { if (s[i].class ="blue") { ... } }
(3) var s = document.getElementsByTagName('h1') for(var i=0;i<s.length;i++) { if (s[i].className =="blue") { ... } }
(4) var s = document.getElementsByClassName('blue') var s = s.getElementsByTagName('h1') for(var i=0;i<s.length;i++) { ... }
Чтобы добавить это правило в таблицу стилей CSSStyleSheet, используя Javascript, необходим код: div { color:red; }
(1) CSSStyleSheet.insertRule("div {color: red}",0)
(2) CSSStyleSheet.insertRule("div"," {color: red}",0)
(3) CSSStyleSheet.insertRule({div:{color: red}})
(4) CSSStyleSheet.addRule("div {color= red}",0)
Как, используя литеральную нотацию, создать массив содержащий числа от 1 до 5?
(1) var arr = [1,2,3,4,5]
(2) ar arr = {1,2,3,4,5}
(3) var arr = new Array(1,2,3,4,5)
(4) var arr = new Array[1,2,3,4,5]
После выполнения кода массив array var array = [1,2,3,4,5]; array.slice(-3,-2); alert(array) будет равен:
(1) [3]
(2) в коде ошибка - у метода slice аргументы не могут быть отрицательными
(3) [2,3]
(4) [1,2,3,4,5]
Как узнать сколько полных дней между date1 и date2?
(1) var diff = date1.getTime() + date2.getTime(); var days = Math.floor(difference / (1000 * 60 * 60 * 24));
(2) var diff = date2.getTime() - date1.getTime(); var days = Math.floor(difference / (1000 * 60 * 60 * 24));
(3) var diff = date1.getTime() + date2.getTime(); var days = Math.floor(difference / (1000 * 60 * 60 * 60 * 24));
(4) var diff = date2.getTime() - date1.getTime(); var days = Math.floor(difference / (60 * 60 * 24));
Код new Math():
(1) создаёт новый объект класса Math
(2) приведет к ошибке, так как у класса Math не может быть экземпляров класса
(3) приведет к ошибке, так как не указаны обязательные аргументы
(4) новый объект типа Number
Какие методы округления есть у объекта Math?
(1) Math.ceil()
(2) Math.floor()
(3) Math.abs()
(4) Math.round()
Для того чтобы вывести число "пи" c 2 знаками после запятой нужно использовать код:
(1) alert(Math.PI.toFixed(2))
(2) alert(Math.PI.toPrecision(3))
(3) alert(Math.PI.toFixed(3))
(4) alert(Math.PI.toPrecision(2))
Чтобы найти подстроку "script" в строке "javascript" нужно использовать метод:
(1) "javascript".indexOfString("script")
(2) "javascript".indexOf("script")
(3) "javascript".indexOf("script",8)
(4) "javascript".findSubString("script")
Чтобы текст "Doe, John" преобразовать в "John Doe" нужен код:
(1) var name = "Doe, John"; name = name.replace("Doe,", "John") name = name.replace("John","Doe")
(2) var name = "Doe, John"; name = name.replace("John","Doe") name = name.replace("Doe,", "John")
(3) var name = "Doe, John" name = name.replace("Doe","John")
(4) var name = "Doe, John" name = name.replace(/(\w+)\s*,\s*(\w+)/, "$2 $1")
Объект XMLHttpRequest() позволяет осуществить запрос:
(1) на любой сервер в интернете
(2) только на тот же домен на котором находится сайт
(3) только на тот же ip адрес на котором находится сайт
(4) только по тому адресу с которого был загружен HTML-файл
Чтобы получить доступ к объекту document полученного с сервера XML-документа нужно использовать свойство объекта XMLHttpRequest:
(1) XMLHttpRequest.responseXML
(2) serialaze(XMLHttpRequest.responseText)
(3) XMLHttpRequest.responseXML()
(4) XMLHttpRequest.responseXML.document
Для отправки синхронного запроса на сервер нужно
(1) указать 3 параметром методу XMLHttpRequest.open() - true
(2) указать 3 параметром методу XMLHttpRequest.open() - false
(3) указать 3 параметром методу XMLHttpRequest.open() - sync
(4) присвоить свойству sync объекта XMLHttpRequest значение true
В каком виде возвращает заголовки ответа метод xhr.getAllResponseHeaders()?
(1) объект
(2) строка
(3) массив
(4) XML
Какое значение примет свойство prop объекта animal после выполнения кода? function Animal(){ this.name = 'cat'; Animal.prop = this.name+this.consctructor+this.id; } Animal.id = '42' var obj = new Animal(); alert(obj.prop)
(1) 42
(2) "cat42"
(3) "Animal42"
(4) undifined
Как правильно выполнить наследование чтобы все экземпляры класса Bird наследовали методы класса Animal? function Animal(name){ this.name = name; } Animal.prototype.show = function(){alert(this.name)}; Animal.prototype.setName = function(name){this.name=name};
(1) function Bird(name){ this.name = name; } Bird.prototype = Animal
(2) function Bird(name){ this.name = name; } Bird.prototype = new Animal();
(3) function Bird(name){ this.name = name; } Bird.prototype = Animal();
(4) function Bird(name){ this.name = name; } Bird.extend(Animal);
Какое значение примет bird.id после выполнения этого кода: function Animal(){ this.id = 2 } Animal.id = 1; function Bird(){ } Bird.id = 4; Bird.prototype.id = 8 Bird.prototype = new Animal(); var bird = new Bird(); alert(bird.id)
(1) 1
(2) 2
(3) 4
(4) 8
Чтобы объединить 2 массива array1 и array2в один нужно использовать код:
(1) var a = [array1,array2].reduce(function(a,b) { return a.concat(b); });
(2) var a = [array1,array2].reduce(a.concat(b)); });
(3) var a = [array1,array2].remap(function(a,b) { return a.concat(b); });
(4) var a = array1 + array2;
Как обозначаются в Javascript числа в восьмеричной системе счисления?
(1) \u10
(2) 010
(3) 0x10
(4) 8x10
Для того что самостоятельно создать ошибку (выбросить исключение) существует инструкция
(1) try
(2) throw
(3) catch
(4) error
Какой результат будет выведен в браузер после выполнения кода? var a = {name:"a"}; a.showName = function(){alert(this.name)} var b = {name:"b"}; a.showName.call(b)
(1) "a"
(2) undefined
(3) "b"
(4) name
В какой области видимости происходит первоначальный поиск переменных внутри функции?
(1) в глобальной
(2) в локальной
(3) в свойствах функции
(4) в свойствах объекта document
Что произойдет, если внутри функции объявить новую переменную без ключевого слова var?
(1) переменная будет локальной
(2) будет брошено исключение
(3) переменная станет глобальной
(4) она будет равна undefined
Инструкция break предназначена для:
(1) немедленного выхода из функции
(2) выхода из блока while
(3) выхода из блока for
(4) выхода из любого блока кода
Чтобы удалить cookie нужно:
(1) записать в атрибут max-age - 0
(2) вызывать метод deleteCookie и передать ему ключ значение которого нужно удалить
(3) вызывать метод removeCookie и передать ему ключ значение которого нужно удалить
(4) записать в атрибут expiresуже прошедшую дату
Профайлер необходим для:
(1) поиска сетевых ошибок
(2) решения проблем производительности в коде
(3) отладки кода
(4) для логирования
Какой код нужно использовать, чтобы в массиве из 10 ссылок, у каждой при клике на неё отображался её номер?
(1) for (var i = 0; i < links.length; i++) { links[i].onclick = function() { alert(i); } }
(2) for (var i = 0; i <links.length; i++) { (function(i) { links[i].onclick = function() { alert(i); } })(i); }
(3) for (var i = 0; i < links.length; i++) { links[i].onclick = alert(i); }
(4) for (var i = 0; i < links.length; i++) { links[i].onclick = function(i) { alert(i); } }
В какой области видимости вызываются функции переданные setTimeout?
(1) всегда в области глобальной видимости
(2) всегда в области локальной видимости
(3) в той области видимости в которой определены сами функции
(4) в той области видимости в которой вызывается setTimeout
Какое из этих регулярных выражений будет соответствовать любому URL?
(1) /http:\/\/([\w]+)\/(\S*)/;
(2) /(\w+)://([\w]+)\/(\S*)/;
(3) /http://([\w.]+)\/(\S*)/;
(4) /(\w+):\/\/([\w.]+)\/(\S*)/;
В чем преимущество метода создания регулярных выражений var re = new Range(), перед литеральной нотацией?
(1) регулярные выражения могут быть созданы динамически
(2) регулярные выражения созданные таким образом работают быстрее
(3) преимуществ нет
(4) регулярные выражения созданные таким образом могут быть расширены новыми методами через prototype
Какое значение возвратит функция isFinite(Number.POSITIVE_INFINITY)?
(1) false
(2) true
(3) NaN
(4) null
Результатом работы следующего кода будет: var s= 42; function ev() { eval("s=45"); } s+= 5; ev();
(1) s == 42
(2) s == 45
(3) s == 47
(4) s == 50
Выберите правильный вариант создания объекта использующего "цепочку функций" (Function Chaining):
(1) var truck = function() { this.turnLeft = function { … } this.turnRight = function { … } this.goReallyFast = function { … } };
(2) var truck = function() { turnLeft = function { … return this; } turnRight = function { … return this; } goReallyFast = function { … return this; } };
(3) var truck = function() { this.turnLeft = function { … return this; } this.turnRight = function { … return this; } this.goReallyFast = function { … return this; } };
(4) var truck = function() { this.turnLeft = function { … return new truck() } this.turnRight = function { … return new truck() } this.goReallyFast = function { … return new truck() } };
Найдите ошибку в коде function add(a,b){ return a+b*5 } var oldAdd = add; add = function(a,b) { return add(a,b) + 23; } document.write(add(12,3))
(1) невозможно определить функцию add дважды
(2) функция add бесконечно вызывает сама себя
(3) в переменной oldAdd сохраняется результат выполнения функции, а не сама функция
(4) в этом коде нет ошибок
Какой результат будет выведен при выполнении кода var langs = ['JavaScript', 'Python', 'C++']; var it = Iterator(langs, true); for (var pair in it) { document.write(pair); }
(1) 1, 2, 3
(2) 0, 1, 2
(3) 'JavaScript', 'Python', 'C++'
(4) ['0':'JavaScript'],['1':'Python'],['2':'C++']
Что представляет из себя паттерн "подписчик/издатель" (Publish/Subscribe)?
(1) создание искусственных событий методом document.createEvent()
(2) ситуацию, когда один объект подписывается на получение извещений об определенных событиях от другого объекта
(3) создание объектов подписчик и издатель методами document.createPublisher() и document.createSubscriber()
(4) вызов одним объектом методов другого
Каким образом можно удалить ноду c id "div"?
(1) var div = document.getElement("div"); div.parentNode.removeChild(div);
(2) var div = document.getElementById("div"); div.parentNode.removeChild(div);
(3) var div = document.getElementById("div"); document.removeChild(div);
(4) var div = document.getElement("div"); div.parentNode.removeChild(div);
Как нужно использовать метод insertBefore() для вставки в документ ноды nodeDiv?
(1) нужно вызывать этот метод у ноды после которой нужно вставить ноду nodeDiv
(2) нужно вызывать этот метод у родительского элемента, передав ему первым аргументом ноду nodeDiv, а вторым ту перед которой нужно вставить новый элемент
(3) такого метода не существует
(4) нужно вызывать этот метод у объекта document передав первым параметром ноду nodeDiv и вторым ту после которой её нужно вставить
Как добавить ноде div обработчик func1 события mouseoverв фазе захвата?
(1) div.attachEvent('onmouseover',func1,true)
(2) div.addEventListener('mouseover',func1,true)
(3) div.attachEvent('onmouseover',func1,false)
(4) div.addEventListener('mouseover',func1,false)
(5) div.addEventListener('onmouseover',func1,true)
Код document.body.addEventListener('mousemove',func1,false):
(1) создаёт для элемента body обработчик func1 события перемещения курсора мышки в фазе захвата
(2) создаёт для элемента body обработчик func1 события выхода за пределы элемента курсора мышки в фазе захвата
(3) создаёт для элемента body обработчик func1 события перемещения мышки в фазе всплытия
(4) создаёт для элемента body обработчик func1 события выхода за пределы элемента курсора мышки в фазе всплытия
Когда возникает событие load HTML-документа?
(1) при загрузке DOM
(2) при загрузке DOM, стилей и скриптов
(3) как только начинается обработка Javascript
(4) При полной загрузке DOM, стилей, скриптов и изображений
В чем ошибка в коде document.styleSheets[0].insertRule("H1 { text weight = bold; }", 0);?
(1) вместо "=" нужно использовать ":"
(2) вместо метода insertRule() нужно использовать метод addRule()
(3) второй аргумент метода insertRule() не может быть равным 0
(4) ошибок нет
После сортировки массив var arr = [13,22,3,4,7]; arr.sort(function(a,b){return b-a}) будет равен:
(1) [22,13,7,4,3]
(2) [13,22,3,4,7]
(3) [3,4,7,13,22]
(4) [7,4,3,22,13]
Метод Array.unshift() предназначен для:
(1) добавления аргументов конец массива
(2) добавляет аргументов в начало массива
(3) удаления первого элемента массива
(4) удаления последнего элемента массива
Чтобы создать дату - "2 августа 2000 года" нужно использовать код:
(1) new Date(2000,8,2)
(2) new Date(2000,7,1)
(3) new Date(2000,7,2)
(4) new Date(2000,8,1)
Какой метод объекта Math нужно использовать чтобы найти максимальное из 3 чисел?
(1) Math.max()
(2) Math.findMax()
(3) Math.maxValue()
(4) такого метода нет
Метод Math.random() генерирует случайно число в интервале:
(1) 0..10
(2) 0..100
(3) 0..1
(4) 1..10
Выражение Number.NEGATIVE_INFINITY + Number.POSITIVE_INFINITY равно:
(1) 0
(2) Number.NEGATIVE_INFINITY
(3) Number.POSITIVE_INFINITY
(4) NaN
Выражение "1 plus 2 equals 3".match(/\d+/g) равно:
(1) "1 plus 2 equals 3"
(2) [1,2,3]
(3) ["plus","equals"]
(4) null
После выполнения кода в переменная s будет равна: var s = "abcdefg"; s = s.slice(0,5) s = s.slice(2,4) s = s.slice(1);
(1) "c"
(2) "cd"
(3) "d"
(4) "bcd"
В каком формате принимает ответ от сервера объект XMLHttpRequest()?
(1) текстовом
(2) двоичном
(3) в виде объекта DOM
(4) смешанном
Какой должен прийти ответ с сервера чтобы код отработал без ошибок? var xhr = new XMLHttpRequest(); xhr.open("GET",'http://site.ru/json',false); xhr.onreadystatechange = function(){ if (xhr.readyState == 4 && xhr.status == 200){ alert(JSON.parse(request.responseText).body.h1.text); } }; xhr.send(null)
(1) {"body":{"h1":{"text":"Main"}}}
(2) <body> <h1> main </h1> </body>
(3) <body> <h1> <text> main </text> </h1> </body>
(4) body.h1.text
Какое значение свойства readyState говорит о том ответ от сервера полностью получен?
(1) 1
(2) 4
(3) 200
(4) 0
Какой код ответа сервера говорит о том что запрос завершился успешно?
(1) 200
(2) 400
(3) 500
(4) 4
Для того чтобы у всех экземпляров класса Animal появился метод show() нужен код:
(1) function Animal(){ this.name = 'cat'; } Animal.show = function(){alert(this.name)}
(2) function Animal(){ this.name = 'cat'; } Animal.prototype.addCommonMethod(function show(){alert(this.name)})
(3) function Animal(){ this.name = 'cat'; } Animal.addCommonMethod(function show(){alert(this.name)})
(4) function Animal(){ this.name = 'cat'; } Animal.prototype.show = function(){alert(this.name)};
От какого объекта все созданные классы и объекты наследуют методы toString()и valueOf()?
(1) Function()
(2) Object()
(3) Element()
(4) Global()
В какой строке ошибка: function Animal{ this.id = 2 } Animal.id = 1; function Bird(){} Bird.id = 4; Bird.prototype = new Animal(); delete Bird.prototype var bird = new Bird(); Bird.id = 4; alert(bird.id)
(1) 1
(2) 7
(3) 4
(4) 6
(5) ошибок в коде нет
Чему будет равна переменная a после выполнения кода? var a = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) { return a.concat(b); }, []);
(1) [4, 5, 2, 3, 0, 1]
(2) [5, 4, 3, 2, 1, 0]
(3) 15
(4) [0, 1, 2, 3, 4, 5]
Каково значение выражения '42'+4*2+42?
(1) "42842"
(2) "4250"
(3) "424"
(4) "424242"
Какое свойство объекта Error предназначено для хранения строки, содержащей подробные сведения о возникшей ошибке?
(1) error.description
(2) error.message
(3) error.title
(4) error.name
В чем отличие метода call от метода apply?
(1) метод call предназначен для вызова метода одного объекта от имени другого, а метод apply предназначен для вызова метода какого либо объекта от имени window
(2) метод call может передавать дополнительные аргументы, а метод apply нет
(3) метода apply не существует
(4) в методе call для передачи дополнительных аргументов нужно перечислять их, а в методе apply передать массив параметров через 2 аргумент
C помощью какого свойства функции можно узнать сколько параметров было указано при объявлении функции?
(1) function.parameters.length
(2) function.length
(3) function.arguments.length
(4) невозможно узнать сколько параметров было указано при объявлении функции
Какой результат будет выведен после выполнения кода? var s = 0; for(var i=0;i<10;i++) { if(s % 2 !=0){ s+=2 }else{ s+=1 } } alert(s)
(1) 19
(2) 12
(3) 0
(4) 18
(5) 20
Для обхода всех свойств и методов объекта предназначена инструкция
(1) for(varible inside object){}
(2) for(varible in object){}
(3) for(varible => object){}
(4) for(varible as object){}
Чтобы проверить включено ли в браузере хранение cookie нужно:
(1) проверить свойство document.cookie, если оно возвращает true - значит cookie включены
(2) проверить свойство navigator.cookie, если оно возвращает true - значит cookie включены
(3) проверить свойство document.cookieEnabled, если оно возвращает true - значит cookie включены
(4) проверить свойство navigator.cookieEnabled, если оно возвращает true - значит cookie включены
Для пошагового выполнения кода необходимо использовать:
(1) консоль
(2) логер
(3) профайлер
(4) отладчик