игра брюс 2048
Главная / Интернет-технологии / Javascript 1.8 / Тест 1

Javascript 1.8 - тест 1

Упражнение 1:
Номер 1
Чему равна переменная 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} 


Номер 2
Что отобразит браузер после выполнения кода?

var module = {
    name: 'Elis',
    say: function(name) {
       alert('Hello ' + name )
    },
 }
 module.say('Silvia');


Ответ:

 (1) "Hello Silvia" 

 (2) "Hello undefined" 

 (3) "Hello Elis" 

 (4) "Hello " 


Номер 3
Что отобразит браузер после выполнения кода??

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 " 


Номер 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 


Номер 5
Какое значение возвратит функция func?

function createCounter(n) {
    return function() {
       return n;
    }
 }
 var func = createCounter(10);
 n = 24;
 var func2 = createCounter(15);
 func();


Ответ:

 (1) 10 

 (2)

 (3) 24 

 (4) 15 


Номер 6
Какой код нужно использовать, чтобы в массиве из 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); } }  


Упражнение 2:
Номер 1
Чтобы отменить выполнение функции по таймауту timeout необходимо вызвать:

Ответ:

 (1) timeout.stop() 

 (2) timeout.end() 

 (3) clearTimeout(timeout) 

 (4) timeout.break() 


Номер 2
Что произойдет, если во время срабатывания
таймаута(setTimeout(func)) Javascript уже
будет занят обработкой другой функции?

Ответ:

 (1) таймаут сработает только после того как закончится работа другой функции 

 (2) другая функция приостановит исполнение до тех пор пока не отработает функция вызванная таймаутом 

 (3) javascript полностью остановит выполнения другой функции и будет выполнять функцию вызванную таймаутом 

 (4) будет брошено исключение  


Номер 3
В какой области видимости исполняются функции переданные
setInterval?

Ответ:

 (1) всегда в области глобальной видимости 

 (2) всегда в области локальной видимости 

 (3) в той области видимости в которой определены сами функции 

 (4) в той области видимости в которой вызывается setInterval 


Номер 4
Чтобы отменить выполнение функции по интервалу timer
необходимо вызвать метод:

Ответ:

 (1) timer.stop() 

 (2) timer.end() 

 (3) clearInterval(timer) 

 (4) timer.break() 


Номер 5
Сколько раз будет вызвана функция func во время
выполнения цикла, если цикл будет продолжаться 4 секунды?

setInterval(func1,1000);
var s= '';
for(var i=0;i<10000000;i++)
{
	s+=i+"text"+i*i;
}
function func1()
{
	document.write('Функция выполнена')
}


Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 6
В какой области видимости вызываются функции переданные
setTimeout?

Ответ:

 (1) всегда в области глобальной видимости 

 (2) всегда в области локальной видимости 

 (3) в той области видимости в которой определены сами функции 

 (4) в той области видимости в которой вызывается setTimeout 


Упражнение 3:
Номер 1
Чему соответствует символ \s в регулярных
выражениях?

Ответ:

 (1) английской букве s 

 (2) любому пробельному символу из набора ASCII 

 (3) любой букве 

 (4) любому ASCII символу 


Номер 2
Какой строке соответствует регулярное выражение
/\d{3,5}\S\d+/?

Ответ:

 (1) "10000" 

 (2) "222ww4" 

 (3) "100w2" 

 (4) "qqq22" 


Номер 3
Регулярное выражение
^[-.\w]+@(?:[a-z\d][-a-z\d]+\.)+[a-z]{2,6}$
соответствует:

Ответ:

 (1) любому индексу города 

 (2) любому телефонному номеру 

 (3) любому URL 

 (4) любому e-mail 


Номер 4
Чему соответствует управляющая последовательность \d в
регулярных выражениях?

Ответ:

 (1) английской букве "d" 

 (2) любой цифре 

 (3) сочетанию символов "\d" 

 (4) любому ASCII символу 


Номер 5
Какой строке соответствует регулярное выражение
/\w{3,5}\s\d?/?

Ответ:

 (1) "www 4" 

 (2) "ww 4" 

 (3) "wwww " 

 (4) "wwww d" 


Номер 6
Какое из этих регулярных выражений будет соответствовать любому
URL?

Ответ:

 (1) /http:\/\/([\w]+)\/(\S*)/; 

 (2) /(\w+)://([\w]+)\/(\S*)/; 

 (3) /http://([\w.]+)\/(\S*)/; 

 (4) /(\w+):\/\/([\w.]+)\/(\S*)/; 


Упражнение 4:
Номер 1
Какой символ в регулярных выражениях обозначает начало
строки?

Ответ:

 (1) & 

 (2) $ 

 (3) ^ 

 (4) / 


Номер 2
Какой символ в регулярных выражениях обозначает конец
строки?

Ответ:

 (1) & 

 (2) $ 

 (3) ^ 

 (4) / 


Номер 3
Для поиска подстроки, состоящего из трех цифр, пробела и от 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}/ 


Номер 4
Какие флаги могут быть у регулярных выражений в
Javascript?

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 5
Что обозначает флаг i в регулярных выражениях Javascript?

Ответ:

 (1) нечувствительность к регистру 

 (2) поиск всех соответствий 

 (3) однострочный режим 

 (4) такого флага нет 


Номер 6
В чем преимущество метода создания регулярных выражений var
re = new Range(), перед литеральной нотацией?

Ответ:

 (1) регулярные выражения могут быть созданы динамически 

 (2) регулярные выражения созданные таким образом работают быстрее 

 (3) преимуществ нет 

 (4) регулярные выражения созданные таким образом могут быть расширены новыми методами через prototype 


Упражнение 5:
Номер 1
C помощью какой глобальной функции строки преобразуются в
десятичные числа?

Ответ:

 (1) parseInt() 

 (2) parseFloat() 

 (3) parseDouble() 

 (4) parseString() 


Номер 2
За что отвечает 2 аргумент функции parseFloat?

Ответ:

 (1) за максимальную длину преобразованного числа 

 (2) за символ которым следуют разделять целую часть и мантиссу числа 

 (3) 2-го аргумента у функции нет 

 (4) за систему счисления в которую нужно преобразовать число из строки 


Номер 3
Если преобразовать строку в число не удаётся, функция
parseFloat возвратит:

Ответ:

 (1) null 

 (2) NaN 

 (3) 0 

 (4) undefined 


Номер 4
C помощью какой глобальной функции строки преобразуются в
числа?

Ответ:

 (1) parseStr() 

 (2) parseInt() 

 (3) parseInteger() 

 (4) parseString() 


Номер 5
За что отвечает 2-й аргумент функции
parseInt()?

Ответ:

 (1) за максимальную длину преобразованного числа 

 (2) за то с какого символа по порядку нужно начинать преобразовывать строку в число 

 (3) 2 аргумента у функции нет 

 (4) систему счисления в которую нужно преобразовать число из строки 


Номер 6
Какое значение возвратит функция
isFinite(Number.POSITIVE_INFINITY)?

Ответ:

 (1) false 

 (2) true 

 (3) NaN 

 (4) null 


Упражнение 6:
Номер 1
Функция isFinite() предназначена для?

Ответ:

 (1) определения является ли переданный аргумент бесконечностью 

 (2) определения является ли переданный аргумент конечным числом 

 (3) определения является ли переданный аргумент целым числом 

 (4) определения является ли переданный аргумент положительным числом 


Номер 2
Функция isNaN() предназначена для:

Ответ:

 (1) определения является ли переданный аргумент некорректным числом 

 (2) определения является ли переданный аргумент конечным числом 

 (3) определения является ли переданный аргумент целым числом 

 (4) определения является ли переданный аргумент положительным числом 


Номер 3
В результате работы следующего кода s будет
иметь значение:

var s = 42;
eval("s+=45");
if (s>42){s+=21}


Ответ:

 (1) 42 

 (2) 108 

 (3) 87 

 (4) 128 


Номер 4
Функция escape() предназначена для:

Ответ:

 (1) декодирования строки, закодированной функцией unescape 

 (2) преобразования строки из одной кодировки в другую 

 (3) преобразования строки - замены определенных символов (недопустимых в URL) на шестнадцатеричные управляющие последовательности 

 (4) удаления из текста управляющих последовательностей 


Номер 5
Какое значение возвратит функция
parseFloat('s2.42')?

Ответ:

 (1) null 

 (2) NaN 

 (3) undifined 

 (4) 2.42 

 (5)


Номер 6
Результатом работы следующего кода будет:

var s= 42;
function ev()
{
	eval("s=45");
}
s+= 5;
ev();


Ответ:

 (1) s == 42 

 (2) s == 45 

 (3) s == 47 

 (4) s == 50 


Упражнение 7:
Номер 1
Какие системы счисления может принимать функция вторым аргументом
функция parseInt()?

Ответ:

 (1)

 (2)

 (3) 16 

 (4) 45 


Номер 2
Выражение parseInt("11", 2) равно

Ответ:

 (1) 11 

 (2)

 (3) 10 

 (4) NaN 


Номер 3
Функция encodeURI() предназначена для:

Ответ:

 (1) кодирования URI алгоритмом MD5 

 (2) вычисления хэша URI алгоритмом CRC32 

 (3) кодирования URI с помощью управляющих последовательностей 

 (4) перекодирования URI в кодировке utf-8 


Номер 4
Что подразумевает под собой паттерн "цепочка
функций" (Function Chaining)?

Ответ:

 (1) вызов методов объекта, которые возвращают этот же объект для дальнейшего использования 

 (2) создание вложенных функций 

 (3) последовательный вызов всех методов объекта в цикле 

 (4) создание вложенных анонимных функций 


Номер 5
Как правильно использовать цепочку функций (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; 


Номер 6
Выберите правильный вариант создания объекта использующего
"цепочку функций" (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() } };  


Упражнение 8:
Номер 1
В каком из вариантов создания функции-перехватчика(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; }  


Номер 2
Какой результат будет выведен в браузер после выполнения кода?

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 


Номер 3
Для реализации итератора  для массива [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] })()  


Номер 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) + "!"; }  


Номер 5
Что выведет браузер после выполнения кода?

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 


Номер 6
Найдите ошибку в коде

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) в этом коде нет ошибок 


Упражнение 9:
Номер 1
Для реализации метода 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; } } …  


Номер 2
Метод 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) возвращения предыдущего элемента 


Номер 3
Какой результат будет выведен при исполнении следующего кода

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) ошибка, потому что итератор не может работать со строками 


Номер 4
Что возвратит при третьем вызове метод next()?

var it = Iterator({x:10,y:20});
it.next();
it.next();
it.next();


Ответ:

 (1) метод возвратит ["x",10] 

 (2) метод возвратит undifined 

 (3) метод возвратит null 

 (4) будет брошено исключение StopIteration 


Номер 5
Как создать итератор для объекта
{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}) 


Номер 6
Какой результат будет выведен при выполнении кода

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++'] 


Упражнение 10:
Номер 1
 Найдите ошибку в реализации паттерна
"подписчик/издатель" (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) ошибок нет 


Номер 2
Какой результат будет выведен после выполнения кода?

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 


Номер 3
Для того что бы сделать из любого объекта "издателя" в
паттерне "подписчик/издатель" (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: []}; }  


Номер 4
Что будет если в паттерне
"Подписчик/Издатель" (Publish/Subscribe) один из подписчиков будет
слишком долго обрабатывать событие от издателя?

Ответ:

 (1) события других подписчиков будут обрабатываться в других потоках процессора 

 (2) события других подписчиков будут обрабатываться после того как процессор остановит поток 

 (3) произойдет ошибка "превышено время ожидания события" 

 (4) события других подписчиков будут ждать своей очереди, потому что Javascript исполняется всегда в одном потоке 


Номер 5
Какой результат будет выведен в браузер после выполнении
следующего кода

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++'] 


Номер 6
Что представляет из себя паттерн
"подписчик/издатель" (Publish/Subscribe)?

Ответ:

 (1) создание искусственных событий методом document.createEvent() 

 (2) ситуацию, когда один объект подписывается на получение извещений об определенных событиях от другого объекта  

 (3) создание объектов подписчик и издатель методами document.createPublisher() и document.createSubscriber() 

 (4) вызов одним объектом методов другого 


Упражнение 11:
Номер 1
Каким образом можно получить доступ к последнему элементу
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;  


Номер 2
Для создания структуры, не имеющей главного родительского
элемента, нужно использовать метод:

Ответ:

 (1) document.createDocumentStructure() 

 (2) document.createFragmentDocument() 

 (3) document.createDocumentFragment() 

 (4) document.createFragment() 


Номер 3
Каким образом можно найти все ноды 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') { … } }  


Номер 4
Каким образом можно добавить в конец документа тэг
<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)  


Номер 5
Как восстановить в документе ноду, удаленную методом
removeNode()?

Ответ:

 (1) использовать метод ressurectionNode() 

 (2) удаленную ноду восстановить невозможно 

 (3) метод removeNode() возвращает ноду, которую можно сохранить в переменной и в дальнейшей использовать в документ 

 (4) используя глобальный массив window.removalNodes 


Номер 6
Каким образом можно удалить ноду 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);  


Упражнение 12:
Номер 1
Каким образом можно вставить в документ фрагмент 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)  


Номер 2
Аргумент метода cloneNode() предназначен для того
чтобы:

Ответ:

 (1) у метода нет аргументов 

 (2) указать максимальный уровень вложенности дочерних элементов которых нужно копировать 

 (3) указать копировать ноду с дочерними элементами или без дочерних элементов 

 (4) указать копировать ноды с атрибутами или без атрибутов 


Номер 3
Для создании копии ноды нужно использовать метод

Ответ:

 (1) copyNode() 

 (2) cloneNode() 

 (3) layoutNode() 

 (4) cloneDOMNode() 


Номер 4
Каким образом можно создать такую структуру:

<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)  


Номер 5
Как нужно использовать метод insertAfter() для
вставки в документ ноды nodeDiv?

Ответ:

 (1) нужно вызывать этот метод у ноды после которой нужно вставить ноду nodeDiv 

 (2) нужно вызывать этот метод у ноды перед которой нужно вставить ноду nodeDiv 

 (3) такого метода не существует 

 (4) нужно вызывать этот метод у объекта document передав ему первым параметром ноду nodeDiv и вторым ту после которой её нужно вставить 


Номер 6
Как нужно использовать метод insertBefore() для
вставки в документ ноды nodeDiv?

Ответ:

 (1) нужно вызывать этот метод у ноды после которой нужно вставить ноду nodeDiv 

 (2) нужно вызывать этот метод у родительского элемента, передав ему первым аргументом ноду nodeDiv, а вторым ту перед которой нужно вставить новый элемент 

 (3) такого метода не существует 

 (4) нужно вызывать этот метод у объекта document передав первым параметром ноду nodeDiv и вторым ту после которой её нужно вставить 


Упражнение 13:
Номер 1
К чему приведет добавление одной функции как обработчика события
дважды?

document.body.addEventListener('click',func1,false);
document.body.addEventListener('click',func1,false);


Ответ:

 (1) функция func1 будет вызвана 2 раза 

 (2) произойдет ошибка 

 (3) функция func1 будет вызвана 1 раз 

 (4) функция func1 не будет вызвана ни разу 


Номер 2
За что отвечает метод event.stopPropagation() объекта
Event?

Ответ:

 (1) если его вызвать, будет отменено событие по умолчанию 

 (2) если его вызвать, событие не будет распространяться дальше 

 (3) если его вызвать, все остальные обработчики не будут вызваны в дальнейшем 

 (4) если его вызвать, событие нельзя будет остановить при дальнейшем распространении 


Номер 3
Как добавить все элементам <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) }  


Номер 4
Какой из обработчиков будет вызван раньше?

document.body.addEventListener('click',func1,false);
document.body.addEventListener('click',func2,true);


Ответ:

 (1) func1 

 (2) нельзя заранее сказать какой обработчик будет вызван раньше 

 (3) func2 

 (4) у объекта body нет метода addEventListener() 


Номер 5
Сколько раз будет выполнена функция 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)

 (2)

 (3)

 (4)


Номер 6
Как добавить ноде 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) 


Упражнение 14:
Номер 1
Событие "перемещение курсора по области элемента"
называется

Ответ:

 (1) mousemove 

 (2) mouseover 

 (3) mouseout 

 (4) mousechangecoords 


Номер 2
Координаты события click относительно экрана в
объекте Event содержаться в свойствах:

Ответ:

 (1) clientX и clientY  

 (2) screenX и screenY  

 (3) x и y  

 (4) X и Y  


Номер 3
Для того чтобы отменить действие по умолчанию в обработчике
события нужно:

Ответ:

 (1) вызвать внутри обработчика event.abort() 

 (2) вернуть из обработчика false 

 (3) вызвать внутри обработчика метод event.preventDefault() 

 (4) вызвать внутри обработчика метод event.stopPropagation()() 


Номер 4
Событие mouseout возникает при

Ответ:

 (1) переходе курсора мышки на дочерний элемент 

 (2) переходе курсора мышки на родительский элемент 

 (3) перемещении курсора по элементу 

 (4) клике на элемент 


Номер 5
Координаты события click относительно документа в
объекте Event содержатся в свойствах:

Ответ:

 (1) clientX и clientY 

 (2) screenX и screenY 

 (3) x и y  

 (4) X и Y  


Номер 6
Код
document.body.addEventListener('mousemove',func1,false):

Ответ:

 (1) создаёт для элемента body обработчик func1 события перемещения курсора мышки в фазе захвата 

 (2) создаёт для элемента body обработчик func1 события выхода за пределы элемента курсора мышки в фазе захвата 

 (3) создаёт для элемента body обработчик func1 события перемещения мышки в фазе всплытия 

 (4) создаёт для элемента body обработчик func1 события выхода за пределы элемента курсора мышки в фазе всплытия 


Упражнение 15:
Номер 1
Ссылка на корневой элемент <HTML> находится
в:

Ответ:

 (1) window.html 

 (2) document.html 

 (3) document.documentElement 

 (4) document.htmlElement 


Номер 2
Для того чтобы создать новый объект Range нужно
вызвать метод

Ответ:

 (1) window.createRange() 

 (2) document.createRangeObject() 

 (3) document.createRange() 

 (4) document.createTextRange() 


Номер 3
Какое событие генерируется при загрузке каркаса DOM
документа?

Ответ:

 (1) load 

 (2) loadDOM 

 (3) contentLoaded 

 (4) DOMContentLoaded 


Номер 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"))  


Номер 5
Чтобы найти все тэги <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++) { ... }  


Номер 6
Когда возникает событие load HTML-документа?

Ответ:

 (1) при загрузке DOM 

 (2) при загрузке DOM, стилей и скриптов 

 (3) как только начинается обработка Javascript 

 (4) При полной загрузке DOM, стилей, скриптов и изображений 


Упражнение 16:
Номер 1
У текстовой ноды в свойстве nodeType содержится
значение:

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 2
Если у ноды в свойство nodeType равно 2, значит эта
нода: 

Ответ:

 (1) атрибут 

 (2) элемент 

 (3) текст 

 (4) документ 


Номер 3
Чтобы получить доступ к массиву, содержащему все дочерние элементы
ноды, необходимо обратиться к свойству ноды:

Ответ:

 (1) childArray 

 (2) childs 

 (3) childNodes 

 (4) nodeChilds 


Номер 4
С помощью какого метода можно добавить правило в таблицу стилей
CSSStyleSheet?

Ответ:

 (1) CSSStyleSheet.insertRule() 

 (2) CSSStyleSheet.createRule() 

 (3) CSSStyleSheet.newRule() 

 (4) CSSStyleSheet.appendRule() 


Номер 5
Чтобы добавить это правило в таблицу стилей 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) 


Номер 6
В чем ошибка в коде document.styleSheets[0].insertRule("H1
{ text weight = bold; }", 0);?

Ответ:

 (1) вместо "=" нужно использовать ":" 

 (2) вместо метода insertRule() нужно использовать метод addRule() 

 (3) второй аргумент метода insertRule() не может быть равным 0 

 (4) ошибок нет 


Упражнение 17:
Номер 1
Какой код нужно использовать, чтобы добавить всем дочерним
элементам атрибут 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) } }  


Номер 2
Чтобы заменить в документе oldNode на
newNode нужен код:

Ответ:

 (1) document.replaceChild(newNode,oldNode) 

 (2) document.replaceChild(oldNode,newNode) 

 (3) oldNode.parentNode.replaceChild(oldNode,newNode) 

 (4) oldNode.parentNode.replaceChild(newNode,oldNode) 


Номер 3
Метод Node.hasChildNodes()
возвращает:

Ответ:

 (1) true в случае у ноды есть хотя бы один дочерний элемент любого типа 

 (2) true в случае у ноды есть хотя бы один текстовый дочерний элемент 

 (3) массив дочерних элементов, либо null, если дочерних элементов нет 

 (4) true в случае нода может иметь дочерние элементы  


Номер 4
Какие значения будут в массиве после выполнения кода?

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] 


Номер 5
Как, используя литеральную нотацию, создать массив содержащий
числа от 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] 


Номер 6
После сортировки массив

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] 


Упражнение 18:
Номер 1
Чтобы получить доступ к массиву стилей объекта
CSSStyleSheet необходимо обратиться к его свойству

Ответ:

 (1) CSSStyleSheet.rules() 

 (2) CSSStyleSheet.styleArrays 

 (3) CSSStyleSheet.styleRules 

 (4) CSSStyleSheet.cssRules 


Номер 2
Для того чтобы выключить все правила таблицы стилей
CSSStyleSheet необходимо

Ответ:

 (1) установить в свойстве enabled значение false 

 (2) установить в свойстве disabled значение yes 

 (3) установить в свойстве disabled значение true 

 (4) установить в свойстве enabled значение no 


Номер 3
Объект CSSRule массива cssRules имеет
свойства:

Ответ:

 (1) style 

 (2) selectorText 

 (3) selector 

 (4) styleText 


Номер 4
Чтобы получить из массива [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(":") 


Номер 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] 


Номер 6
Метод Array.unshift() предназначен для:

Ответ:

 (1) добавления аргументов конец массива 

 (2) добавляет аргументов в начало массива 

 (3) удаления первого элемента массива 

 (4) удаления последнего элемента массива 


Упражнение 19:
Номер 1
Метод join("+") вернет для массива
[1,2,4,5]:

Ответ:

 (1) строку "1+2+4+5" 

 (2) массив [1,3,7,12] 

 (3) число 12 

 (4) ошибку, потому что метод не может обработать такой аргумент 


Номер 2
Фрагмент кода var array = new Array(4);
создаст

Ответ:

 (1) массив [1,2,3,4] 

 (2) массив из 4 пустых элементов 

 (3) массив [4] 

 (4) массив [0,0,0,0] 


Номер 3
Чтобы удалить  последний элемент массива нужно использовать
метод:

Ответ:

 (1) array.push() 

 (2) array.shift() 

 (3) array.pop() 

 (4) array.unshift() 


Номер 4
Создаваемый без аргументов объект класса Date - (var date = new Date()) равен:

Ответ:

 (1) текущей дате в компьютере 

 (2) 1 сентября 1970 года 

 (3) 1 января 2000 

 (4) 1 января 1 года н.э. 


Номер 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));  


Номер 6
Чтобы создать дату - "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) 


Упражнение 20:
Номер 1
Метод Math.ceil():

Ответ:

 (1) переводит число в экспоненциальную форму 

 (2) отбрасывает дробную часть числа 

 (3) округляет число в меньшую сторону 

 (4) округляет число в большую сторону 


Номер 2
Чтобы округлить число в меньшую сторону нужно использовать
метод:

Ответ:

 (1) Math.ceil() 

 (2) Math.floor() 

 (3) Math.round() 

 (4) Math.ceil(true) 


Номер 3
Метод для получения абсолютного значения(модуля) числа:

Ответ:

 (1) Math.abs() 

 (2) Math.absolute() 

 (3) Math.valueOf() 

 (4) Math.module() 


Номер 4
Выражение Math.pow(Math.abs(Math.ceil(-1,99)),0)
равно:

Ответ:

 (1)

 (2)

 (3) NaN 

 (4)


Номер 5
Код new Math():

Ответ:

 (1) создаёт новый объект класса Math 

 (2) приведет к ошибке, так как у класса Math не может быть экземпляров класса 

 (3) приведет к ошибке, так как не указаны обязательные аргументы 

 (4) новый объект типа Number 


Номер 6
Какой метод объекта Math нужно использовать чтобы
найти максимальное из 3 чисел?

Ответ:

 (1) Math.max() 

 (2) Math.findMax() 

 (3) Math.maxValue() 

 (4) такого метода нет 


Упражнение 21:
Номер 1
Какие константы содержит объект Math

Ответ:

 (1) Math.PI 

 (2) Math.LN1 

 (3) Math.LOG10E 

 (4) Math.LN2 


Номер 2
Метод Math.round():

Ответ:

 (1) отбрасывает дробную часть 

 (2) округляет число в меньшую сторону 

 (3) округляет число в большую сторону 

 (4) округляет число до ближайшего целого 


Номер 3
Чтобы получить случайное число в интервале от 22 до 43 нужен
код:

Ответ:

 (1) Math.random('22-43') 

 (2) Math.random(22,43) 

 (3) Math.random()*21+22 

 (4) Math.random({begin:22,end:43}) 


Номер 4
Какие методы тригонометрических функций содержит объект
Math?

Ответ:

 (1) Math.sin() 

 (2) Math.sinus() 

 (3) Math.asin() 

 (4) Math.acos() 


Номер 5
Какие методы округления есть у объекта
Math?

Ответ:

 (1) Math.ceil() 

 (2) Math.floor() 

 (3) Math.abs() 

 (4) Math.round() 


Номер 6
Метод Math.random() генерирует случайно число в
интервале:

Ответ:

 (1) 0..10 

 (2) 0..100 

 (3) 0..1 

 (4) 1..10 


Упражнение 22:
Номер 1
Максимальное возможно число в Javascript хранится в: 

Ответ:

 (1) Number.MAX_VALUE 

 (2) Number.POSITIVE_VALUE 

 (3) Number.MAX_NUMBER 

 (4) Number.MAX_POSITIVE_VALUE 


Номер 2
Выражение 12345.6789.toExponential(1)
равно:

Ответ:

 (1) 1.2e+4 

 (2) 1.2e+5 

 (3) 12345.6 

 (4) 12345.7 


Номер 3
Выражение 12345.toPrecision(3) равно:

Ответ:

 (1) 123.0e+3 

 (2) 123e+4 

 (3) 123.0e+2 

 (4) в коде ошибка 


Номер 4
Что выведет на экран данный код?

var n = new Number(2);
var biggest = n.MAX_VALUE
alert(biggest)


Ответ:

 (1) undefined 

 (2) 1,79E+308 

 (3) 99999999999999 

 (4) infinity 


Номер 5
Для того чтобы вывести число "пи" 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)) 


Номер 6
Выражение Number.NEGATIVE_INFINITY + Number.POSITIVE_INFINITY равно:

Ответ:

 (1)

 (2) Number.NEGATIVE_INFINITY 

 (3) Number.POSITIVE_INFINITY 

 (4) NaN 


Упражнение 23:
Номер 1
Для изменения регистра строки нужно использовать
методы:

Ответ:

 (1) changeRegister 

 (2) toLowerCase() 

 (3) toUpperCase() 

 (4) toUpper() 


Номер 2
Чтобы преобразовать строку в массив подстрок нужно использовать
метод:

Ответ:

 (1) StringToArray() 

 (2) String.split() 

 (3) String.toArray() 

 (4) String.explode() 


Номер 3
Чтобы разбить предложение "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); } }  


Номер 4
Выражение
"Javascript".charAt(1).concat("Javascript".charAt(
"Javascript".length-1)) равно:

Ответ:

 (1) "Jt" 

 (2) "at" 

 (3) "ap" 

 (4) "Ja" 


Номер 5
Чтобы найти подстроку "script" в строке
"javascript" нужно использовать метод:

Ответ:

 (1) "javascript".indexOfString("script") 

 (2) "javascript".indexOf("script") 

 (3) "javascript".indexOf("script",8) 

 (4) "javascript".findSubString("script") 


Номер 6
Выражение "1 plus 2 equals 3".match(/\d+/g)
равно:

Ответ:

 (1) "1 plus 2 equals 3" 

 (2) [1,2,3] 

 (3) ["plus","equals"] 

 (4) null 


Упражнение 24:
Номер 1
Метод String.localeCompare() предназначен
для:

Ответ:

 (1) сравнения строк с учетом национальных алфавитов 

 (2) сравнения строк без учета национальных алфавитов 

 (3) создания строк с помощью многобайтных кодировок 

 (4) изменения регистра с учетом национальных алфавитов 


Номер 2
Какое значение возвратит метод indexOf() если
подстрока не будет найдена?

Ответ:

 (1)

 (2) -1 

 (3) null 

 (4) undefined 


Номер 3
Метод String.indexOf() принимает вторым
аргументом:

Ответ:

 (1) позицию в строке, до которой нужно искать 

 (2) функцию, которая будет вызвана в случае успешного поиска 

 (3) позицию в строке, с которой нужно начинать поиск 

 (4) у метода нет второго аргумента 


Номер 4
После выполнения кода массив 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] 


Номер 5
Чтобы текст "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")  


Номер 6
После выполнения кода в переменная 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" 


Упражнение 25:
Номер 1
Метод String.fromCharCode() предназначен
для

Ответ:

 (1) создания строки из кодов символов 

 (2) создания строки из отдельных символов 

 (3) создания строки из других строк 

 (4) такого метода нет 


Номер 2
Чтобы получить доступ к отдельным символам строки
нужно:

Ответ:

 (1) использовать свойство string.chars[1]в котором содержится массив всех символов строки 

 (2) использовать нотацию массивов string[1] 

 (3) использовать метод string.charAt(1) 

 (4) использовать метод string.char(1) 


Номер 3
Чтобы получить код символа в кодировке utf-8 нужно
использовать метод:

Ответ:

 (1) String.code() 

 (2) String.charCode() 

 (3) String.charCodeAt() 

 (4) String.char() 


Номер 4
Создание объекта запроса производится с помощью
конструктора:

Ответ:

 (1) XMLHttpRequest() 

 (2) XMLHTTPRequest() 

 (3) XmlHttpRequest() 

 (4) Request() 


Номер 5
Объект XMLHttpRequest() позволяет осуществить
запрос:

Ответ:

 (1) на любой сервер в интернете 

 (2) только на тот же домен на котором находится сайт 

 (3) только на тот же ip адрес на котором находится сайт 

 (4) только по тому адресу с которого был загружен HTML-файл 


Номер 6
В каком формате принимает ответ от сервера объект XMLHttpRequest()?

Ответ:

 (1) текстовом 

 (2) двоичном 

 (3) в виде объекта DOM 

 (4) смешанном 


Упражнение 26:
Номер 1
Метод Date.valueOf() возвращает для даты:

Ответ:

 (1) строковое представление 

 (2) локализованное строковое 

 (3) миллисекундное представление, аналогично get Time() 

 (4) сам объект даты 


Номер 2
Чтобы получить у объекта Date локализованное
строковое представление, нужно использовать метод:

Ответ:

 (1) date.getLocaleString() 

 (2) date.toLocaleString() 

 (3) date.getLocaleDate() 

 (4) date.toString() 


Номер 3
Чтобы установить в экземпляре класса Date 2011-й год
нужно использовать метод:

Ответ:

 (1) date.Year(2011) 

 (2) date.years=2011 

 (3) date.setFullYear(2011) 

 (4) date.fullYears=2011 


Номер 4
Чтобы преобразовать ответ от сервера,
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) 


Номер 5
Чтобы получить доступ к объекту document полученного
с сервера XML-документа нужно использовать свойство объекта
XMLHttpRequest:

Ответ:

 (1) XMLHttpRequest.responseXML 

 (2) serialaze(XMLHttpRequest.responseText) 

 (3) XMLHttpRequest.responseXML() 

 (4) XMLHttpRequest.responseXML.document 


Номер 6
Какой должен прийти ответ с сервера чтобы код отработал без
ошибок?

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 


Упражнение 27:
Номер 1
Код new Date(2010, 11, 2) создаст объект класса
Date содержащий дату:

Ответ:

 (1) 2 декабря 2010 г 

 (2) 2 ноября 2010 г 

 (3) 3 декабря 2010 г 

 (4) 3 ноября 2010 г 


Номер 2
Код new Date(2010, 1, 1) создаст объект класса
Date содержащий дату:

Ответ:

 (1) 1 января 2010 г. 

 (2) 1 февраля 2010 г. 

 (3) 2 февраля 2010 г. 

 (4) 2 января 2010 г. 


Номер 3
Чтобы установить в экземпляре класса Date месяц -
август, нужно передать методу setMonth():

Ответ:

 (1)

 (2)

 (3)

 (4) "august" 


Номер 4
Какие методы запросов могут быть у объекта
XMLHttpRequest?

Ответ:

 (1) GET 

 (2) POST 

 (3) HEAD 

 (4) BODY 


Номер 5
Для отправки синхронного запроса на сервер
нужно

Ответ:

 (1) указать 3 параметром методу XMLHttpRequest.open() - true 

 (2) указать 3 параметром методу XMLHttpRequest.open() - false 

 (3) указать 3 параметром методу XMLHttpRequest.open() - sync 

 (4) присвоить свойству sync объекта XMLHttpRequest значение true 


Номер 6
Какое значение свойства readyState говорит о том
ответ от сервера полностью получен?

Ответ:

 (1)

 (2)

 (3) 200 

 (4)


Упражнение 28:
Номер 1
Для создания объекта запроса необходимо использовать
код:

Ответ:

 (1) var xhr = new XMLHttpRequest() 

 (2) var xhr = document.createXMLHttpRequest() 

 (3) XMLHttpRequest.create() 

 (4) var xhr = createXMLHttpRequest()() 


Номер 2
Для осуществления запроса POST необходимо

Ответ:

 (1) установить свойство объекта запроса xhr.request = 'POST' 

 (2) передать первым аргументом методу xhr.open() значение 'POST' 

 (3) указать при создании объекта запроса аргумент var xhr = new XMLHttpRequest('POST')  

 (4) вызывать у объекта запроса метод post() 


Номер 3
Для отправки запросов служит метод:

Ответ:

 (1) xhr.send() 

 (2) xhr.open() 

 (3) xhr.call() 

 (4) xhr.post() 


Номер 4
Чтобы отменить запрос нужно вызвать метод:

Ответ:

 (1) XMLHttpRequest.stop() 

 (2) XMLHttpRequest.abort() 

 (3) XMLHttpRequest.end() 

 (4) XMLHttpRequest.abortRequest() 


Номер 5
В каком виде возвращает заголовки ответа метод
xhr.getAllResponseHeaders()?

Ответ:

 (1) объект 

 (2) строка 

 (3) массив 

 (4) XML 


Номер 6
Какой код ответа сервера говорит о том что запрос завершился
успешно?

Ответ:

 (1) 200 

 (2) 400 

 (3) 500 

 (4)


Упражнение 29:
Номер 1
Какое значение будет иметь свойство readyState, если
метод sеnd() был вызван, но ответ от сервера еще не
получен:

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 


Номер 2
При выполнении запроса, код ответа сервера содержится в
свойстве:

Ответ:

 (1) xhr.status 

 (2) xhr.statusServer 

 (3) xhr.serverStatus 

 (4) xhr.serverCode 


Номер 3
C какими префиксами может работать объект
XMLHttpRequest?

Ответ:

 (1) http:// 

 (2) file:// 

 (3) ftp:// 

 (4) mailto:// 


Номер 4
Какое свойство экземпляров объекта будет ссылать на функцию
Animal?

function Animal(){
this.name = 'cat';
}
var obj = new Animal();


Ответ:

 (1) obj.constructor 

 (2) obj.function 

 (3) obj.class 

 (4) obj.prototype.constructor 


Номер 5
Какое значение примет свойство 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 


Номер 6
Для того чтобы у всех экземпляров класса 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)};  


Упражнение 30:
Номер 1
Метод запроса HEAD используется для:

Ответ:

 (1) выполнения обычных запросов, при этом вся передаваемая информация находится в заголовках 

 (2) получения только заголовков ответа сервера 

 (3) проверки ответа, при этом не принимаются ни заголовки ни тело ответа 

 (4) такого метода запроса нет 


Номер 2
Для отправки асинхронного запроса на сервер нужно

Ответ:

 (1) указать 3 параметром методу XMLHttpRequest.open() - true 

 (2) указать 3 параметром методу XMLHttpRequest.open() - false 

 (3) указать 3 параметром методу XMLHttpRequest.open() - sync 

 (4) присвоить свойству sync объекта XMLHttpRequest значение true 


Номер 3
Какое значение свойства readyState говорит о том, что
идет получение ответа сервера?

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 4
Какое значение примет свойство 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 


Номер 5
Как правильно выполнить наследование чтобы все экземпляры класса
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);  


Номер 6
От какого объекта все созданные классы и объекты наследуют
методы toString()и valueOf()?

Ответ:

 (1) Function() 

 (2) Object() 

 (3) Element() 

 (4) Global() 


Упражнение 31:
Номер 1
Метод XMLHttpRequest.abort() предназначен
для:

Ответ:

 (1) сброса параметров запроса 

 (2) отмены ожидания ответа от сервер 

 (3) повторной отправки запроса 

 (4) такого метода не существует 


Номер 2
С помощью какого метода можно отправить повторный запрос на
сервер в случае неудачи первого запроса?

Ответ:

 (1) xhr.againRequest(10); 

 (2) xhr.sendRequest(10); 

 (3) xhr.sendNumRequest(10); 

 (4) такого метода нет 


Номер 3
Каким образом можно узнать, что запрос завершился
неудачей?

Ответ:

 (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) { //обработка ошибки } ...  


Номер 4
Что покажет браузер после выполнения кода?

function Animal(){
}
var animal = new Animal();
alert(Animal.prototype.constructor)


Ответ:

 (1) Function() 

 (2) Object() 

 (3) Animal(){} 

 (4) Object(){native code} 


Номер 5
Какое значение примет 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)

 (2)

 (3)

 (4)


Номер 6
В какой строке ошибка:

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)

 (2)

 (3)

 (4)

 (5) ошибок в коде нет 


Упражнение 32:
Номер 1
На какой объект ссылается свойство constructor класса
Animal?

function Animal(){
this.mame = 'cat';
}
var obj = new Animal();
alert(Animal.constructor)


Ответ:

 (1) Function() 

 (2) Object() 

 (3) Animal() 

 (4) Window() 


Номер 2
Чему будет равно свойство 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 


Номер 3
Какой объект в javascript стоит на вершине иерархии
объектов?

Ответ:

 (1) Function() 

 (2) Object() 

 (3) Animal() 

 (4) Window() 


Номер 4
Код 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)


Номер 5
Чтобы объединить 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;  


Номер 6
Чему будет равна переменная 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] 


Упражнение 33:
Номер 1
Чтобы проверить является ли свойство объекта перечисляемым в цикле
for...in нужно использовать метод:

Ответ:

 (1) object.propertyIsEnumerable() 

 (2) object.propertyEnumerable() 

 (3) object.isEnumerable() 

 (4) object.isEnumerableInForIn() 


Номер 2
В каком из вариантов правильно реализовано
наследование?

Ответ:

 (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());  


Номер 3
С помощью какого метода можно определить является ли один объект
прототипом другого?

Ответ:

 (1) object.isPrototype() 

 (2) object.isPrototypeOf() 

 (3) object.prototypeOf() 

 (4) object.isPrototypeFor() 


Номер 4
Как обозначаются в Javascript числа в шестнадцатеричной системе
счисления?

Ответ:

 (1) \uA2 

 (2) 0A2 

 (3) 0xA2 

 (4) x16_A2 


Номер 5
Как обозначаются в Javascript числа в восьмеричной системе
счисления?

Ответ:

 (1) \u10 

 (2) 010 

 (3) 0x10 

 (4) 8x10 


Номер 6
Каково значение выражения '42'+4*2+42?

Ответ:

 (1) "42842" 

 (2) "4250" 

 (3) "424" 

 (4) "424242" 


Упражнение 34:
Номер 1
Метод 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 


Номер 2
Свойства в каком объекте будут иметь приоритет при поиске значения
определенного свойства в цепочке наследования?

Ответ:

 (1) свойства класса 

 (2) свойства самого объекта 

 (3) свойства прототипа 

 (4) свойства Object() 


Номер 3
Что будет выведено в браузер после выполнения кода?

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] 


Номер 4
Чтобы "отловить" ошибку (исключение) в  Javascript
необходимо:

Ответ:

 (1) поместить блок кода, где возможна ошибка в блок try{} и в случае возникновения ошибки сработает глобальная функция error(e) 

 (2) поместить блок кода, где возможна ошибка в блок danger{} и в случае возникновения ошибки обработать её в блоке error(e){} 

 (3) поместить блок кода, где возможна ошибка в блок try{} и в случае возникновения ошибки обработать её в блоке catch(e){} 

 (4) написать обработчик события exception объекта document 


Номер 5
Для того что самостоятельно создать ошибку (выбросить исключение)
существует инструкция

Ответ:

 (1) try 

 (2) throw 

 (3) catch 

 (4) error 


Номер 6
Какое свойство объекта Error предназначено для
хранения строки, содержащей подробные сведения о возникшей ошибке?

Ответ:

 (1) error.description 

 (2) error.message 

 (3) error.title 

 (4) error.name 


Упражнение 35:
Номер 1
Код var array = [0, 1, 1, 0].reduce(function(a, b){ return a
* b; }) поместит в переменную array:

Ответ:

 (1) [0,1,2,0] 

 (2)

 (3)

 (4)


Номер 2
Инструкция typeof null возвратит:

Ответ:

 (1) object 

 (2) undefined 

 (3) nukk 

 (4) NaN 


Номер 3
Какое значение будет иметь переменная a после
выполнения кода:

var a = [22, 11].reduceRight(function(a, b) {
  return a.concat(b);
}, []);


Ответ:

 (1) [11,22] 

 (2) [22,11] 

 (3) 33 

 (4) "33" 


Номер 4
Каким образом можно вызвать метод одного объекта от имени
другого?

Ответ:

 (1) c помощью метода функции call(объект, аргументы) 

 (2) c помощью метода функцииapply(объект, аргументы) 

 (3) c помощью метода функцииsend(объект, аргументы) 

 (4) c помощью метода функцииrun(объект, аргументы) 


Номер 5
Какой результат будет выведен в браузер после выполнения кода?

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 


Номер 6
В чем отличие метода call от  метода
apply?

Ответ:

 (1) метод call предназначен для вызова метода одного объекта от имени другого, а метод apply предназначен для вызова метода какого либо объекта от имени window 

 (2) метод call может передавать дополнительные аргументы, а метод apply нет 

 (3) метода apply не существует 

 (4) в методе call для передачи дополнительных аргументов нужно перечислять их, а в методе apply передать массив параметров через 2 аргумент 


Упражнение 36:
Номер 1
Как обозначаются в Javascript числа в троичной системе
счисления?

Ответ:

 (1) \u3_122 

 (2) 03x122 

 (3) 0x3122 

 (4) Javascript не имеет встроенных методов представления чисел в троичной системе счисления 


Номер 2
В какой системе счисление представлено число
0x10?

Ответ:

 (1) восьмеричная 

 (2) шестнадцатеричная 

 (3) двоичная 

 (4) десятичная 


Номер 3
Выражение 4*2+'42'*2 равно:

Ответ:

 (1) "42422" 

 (2) "82" 

 (3) "92" 

 (4) "8422" 


Номер 4
Какое значение 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 


Номер 5
В какой области видимости происходит первоначальный поиск
переменных внутри функции?

Ответ:

 (1) в глобальной 

 (2) в локальной 

 (3) в свойствах функции 

 (4) в свойствах объекта document 


Номер 6
C помощью какого свойства функции можно узнать сколько параметров
было указано при объявлении функции?

Ответ:

 (1) function.parameters.length 

 (2) function.length 

 (3) function.arguments.length 

 (4) невозможно узнать сколько параметров было указано при объявлении функции 


Упражнение 37:
Номер 1
Инструкция 

try{
…
}catch(e){
…
}

предназначена для:

Ответ:

 (1) создания дочернего потока выполнения кода 

 (2) измерения производительности кода 

 (3) обработки исключительных ситуаций 

 (4) организации блоков кода 


Номер 2
Чтобы при передаче функции числа аргументов отличного от того, что
было указано при её объявлении было брошено исключению, нужно использовать
код:

Ответ:

 (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()} ... }  


Номер 3
Какое свойство объекта Error предназначено для
хранения строки, содержащей тип ошибки?

Ответ:

 (1) error.description 

 (2) error.message 

 (3) error.title 

 (4) error.name 


Номер 4
Какие варианты из приведенных ниже - не содержит ошибок?

Ответ:

 (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(;;) 


Номер 5
Что произойдет, если внутри функции объявить новую переменную без
ключевого слова var?

Ответ:

 (1) переменная будет локальной 

 (2) будет брошено исключение 

 (3) переменная станет глобальной 

 (4) она будет равна undefined 


Номер 6
Какой результат будет выведен после выполнения кода?

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)

 (4) 18 

 (5) 20 


Упражнение 38:
Номер 1
Метод toString() вызванный для функции:

Ответ:

 (1) отобразит имя функции 

 (2) отобразит имя и полный исходный код функции 

 (3) отобразит полный исходный код функции 

 (4) бросит исключение typeError 


Номер 2
Как можно получить доступ к переменным внутри функции, которые не
были указаны при создании функции?

Ответ:

 (1) с помощью массива this.arguments 

 (2) с помощью массива parameters 

 (3) с помощью массива arguments 

 (4) в функции можно получить доступ лишь к тем аргументам, которые были указаны при создании функции 


Номер 3
Чтобы вызвать метод 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) 


Номер 4
Какой результат будет выведен после выполнения кода:

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 


Номер 5
Инструкция break предназначена для:

Ответ:

 (1) немедленного выхода из функции 

 (2) выхода из блока while 

 (3) выхода из блока for 

 (4) выхода из любого блока кода 


Номер 6
Для обхода всех свойств и методов объекта предназначена
инструкция

Ответ:

 (1) for(varible inside object){} 

 (2) for(varible in object){} 

 (3) for(varible => object){} 

 (4) for(varible as object){} 


Упражнение 39:
Номер 1
Чтобы cookie передавалось только по протоколу
https при его создании нужно указать атрибут:

Ответ:

 (1) secure 

 (2) security 

 (3) https 

 (4) ssl 


Номер 2
Чтобы создать новый элемент cookie нужно:

Ответ:

 (1) присвоить document.cookie строку с ключом, значением и атрибутами  

 (2) вызывать метод document.createCookie() и передать ему строку с ключом, значением и атрибутами  

 (3) вызывать метод document.insertCookie() и передать ему строку с ключом, значением и атрибутами  

 (4) создать новый объект класса Cookie new Cookie() и передать ему строку с ключом, значением и атрибутами  


Номер 3
Чтобы 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 - '/' 


Номер 4
Чтобы записать в 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();  


Номер 5
Чтобы удалить cookie нужно:

Ответ:

 (1) записать в атрибут max-age - 0 

 (2) вызывать метод deleteCookie и передать ему ключ значение которого нужно удалить 

 (3) вызывать метод removeCookie и передать ему ключ значение которого нужно удалить 

 (4) записать в атрибут expiresуже прошедшую дату 


Номер 6
Чтобы проверить включено ли в браузере хранение
cookie нужно:

Ответ:

 (1) проверить свойство document.cookie, если оно возвращает true - значит cookie включены 

 (2) проверить свойство navigator.cookie, если оно возвращает true - значит cookie включены 

 (3) проверить свойство document.cookieEnabled, если оно возвращает true - значит cookie включены 

 (4) проверить свойство navigator.cookieEnabled, если оно возвращает true - значит cookie включены 


Упражнение 40:
Номер 1
Для подключения внешней библиотеки javascript с помощью тэга
<script> необходимо:

Ответ:

 (1) указать в атрибуте link адрес библиотеки 

 (2) указать в атрибуте href адрес библиотеки 

 (3) указать в атрибуте src адрес библиотеки 

 (4) указать в атрибуте import адрес библиотеки 


Номер 2
Для решения проблем производительности в коде нужно использовать
инструмент:

Ответ:

 (1) консоль 

 (2) профайлер 

 (3) отладчик 

 (4) для логирования 


Номер 3
Отладчик (Debugger) необходим для:

Ответ:

 (1) логирования событий 

 (2) поиска сетевых ошибок 

 (3) решения проблем производительности в коде 

 (4) пошагового выполнения кода 


Номер 4
Для импорта библиотек javascript необходимо:

Ответ:

 (1) использовать метод document.loadScript() 

 (2) использовать директиву &import 

 (3) создавать в ХТМЛ новые тэги <script>и присваивать атрибуту srcадрес библиотеки 

 (4) использовать функцию include() 


Номер 5
Профайлер необходим для:

Ответ:

 (1) поиска сетевых ошибок 

 (2) решения проблем производительности в коде 

 (3) отладки кода 

 (4) для логирования 


Номер 6
Для пошагового выполнения кода необходимо использовать:

Ответ:

 (1) консоль 

 (2) логер 

 (3) профайлер 

 (4) отладчик 




Главная / Интернет-технологии / Javascript 1.8 / Тест 1