Главная /
Интернет-технологии /
Javascript 1.8
Javascript 1.8 - ответы на тесты Интуит
Правильные ответы выделены зелёным цветом.
Все ответы: Проверка знаний синтаксиса языка написания сценариев Javascript 1.8
Все ответы: Проверка знаний синтаксиса языка написания сценариев Javascript 1.8
Смотрите также:
Чему равна переменная
function closure(a) {
var number = 32+a;
return function() {
return number
}
}
var number = 12;
var s1 = closure(10);
s1
после выполнения кода?
(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;
}
Для реализации метода
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++]
}
}
})()
rewind()
, который
переустанавливает указатель в начало в итераторе нужен код:
(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) такого метода не существует
На какой объект ссылается свойство
function Animal(){
this.mame = 'cat';
}
var obj = new Animal();
alert(Animal.constructor)
constructor
класса
Animal
?
(1)
Function()
(2)
Object()
(3)
Animal()
(4)
Window()
Чтобы проверить является ли свойство объекта перечисляемым в цикле
for...in
нужно использовать метод:
(1)
object.propertyIsEnumerable()
(2)
object.propertyEnumerable()
(3)
object.isEnumerable()
(4)
object.isEnumerableInForIn()
Метод
var o = new Object();
o.x = 3.14;
alert(o.hasOwnProperty("x"))
alert(o.hasOwnProperty("y"))
hasOwnProperty()
возвратит значения:
(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
Метод
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];
}
}
})()
current()
нужен в данной реализации итератора
для
(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) такого метода нет
Чему будет равно свойство
Object.prototype.id = 32;
function Animal(){
id = '33';
}
Animal.id = '41'
var obj = new Animal();
alert(obj.id)
id
объекта
animal
после выполнения кода?
(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
В результате работы следующего кода
var s = 42;
eval("s+=45");
if (s>42){s+=21}
s
будет
иметь значение:
(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]
Какое значение будет иметь переменная
var a = [22, 11].reduceRight(function(a, b) {
return a.concat(b);
}, []);
a
после
выполнения кода:
(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
Чтобы вызвать метод
var one = {}
one.show = function()
{
alert(this.name)
}
var two= {};
two.name = 'John';
show()
объекта one
от имени объекта two
нужно использовать код:
(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)
пошагового выполнения
кода
Какие значения и в каком порядке возвратятся при вызове функции
function createCounter() {
var numberOfCalls = 0;
return function() {
return ++numberOfCalls;
}
}
var func = createCounter();
func();
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) для функции
function say(name)
{
return name;
}
say
?
(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) + "!";
}
Что возвратит при третьем вызове метод
var it = Iterator({x:10,y:20});
it.next();
it.next();
it.next();
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"
После выполнения кода массив
var url = /(\w+):\/\/([\w.]+)\/(\S*)/;
var text = "Заходите на страницу http://www.intuit.com/about.html";
var result = text.match(url);
будет равен:
result
(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()
Какое свойство экземпляров объекта будет ссылать на функцию
function Animal(){
this.name = 'cat';
}
var obj = new Animal();
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(объект,
аргументы)
Какое значение
var x = 2;
function a(){
var x = 10;
function b(){
alert(x)
}
b.x = 0;
b();
}
a.x = 5;
a();
x
покажет браузер?
(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()
Какое значение возвратит функция
function createCounter(n) {
return function() {
return n;
}
}
var func = createCounter(10);
n = 24;
var func2 = createCounter(15);
func();
func
?
(1) 10
(2) 0
(3) 24
(4) 15
Сколько раз будет вызвана функция
setInterval(func1,1000);
var s= '';
for(var i=0;i<10000000;i++)
{
s+=i+"text"+i*i;
}
function func1()
{
document.write('Функция выполнена')
}
func
во время
выполнения цикла, если цикл будет продолжаться 4 секунды?
(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 = 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;
}
}
MathChain
?
(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
и вторым ту после которой её нужно вставить Сколько раз будет выполнена функция
document.body.addEventListener('click',func1,false);
document.body.addEventListener('click',func1,false);
document.body.addEventListener('click',func1,true);
function func1(e)
{
e.stopPropagation()
}
func1
при клике
на странице?
(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++)
{
...
}
Чтобы добавить это правило в таблицу стилей
div
{
color:red;
}
CSSStyleSheet
, используя Javascript, необходим код:
(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]
После выполнения кода массив
var array = [1,2,3,4,5];
array.slice(-3,-2);
alert(array)
будет равен:
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
Какое значение примет свойство
function Animal(){
this.name = 'cat';
Animal.prop = this.name+this.consctructor+this.id;
}
Animal.id = '42'
var obj = new Animal();
alert(obj.prop)
prop
объекта
animal
после выполнения кода?
(1)
42
(2)
"cat42"
(3)
"Animal42"
(4)
undifined
Как правильно выполнить наследование чтобы все экземпляры класса
function Animal(name){
this.name = name;
}
Animal.prototype.show = function(){alert(this.name)};
Animal.prototype.setName = function(name){this.name=name};
Bird
наследовали методы класса Animal
?
(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);
Какое значение примет
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)
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
После выполнения кода в переменная
var s = "abcdefg";
s = s.slice(0,5)
s = s.slice(2,4)
s = s.slice(1);
s
будет равна:
(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) ошибок в коде нет
Чему будет равна переменная
var a = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) {
return a.concat(b);
}, []);
a
после выполнения кода?
(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)
отладчик