Главная /
Javascript 1.8
Javascript 1.8 - ответы на тесты Интуит
Проверка знаний синтаксиса языка написания сценариев Javascript 1.8
Список вопросов:
- # Чему равна переменная s1 после выполнения кода? function closure(a) { var number = 32+a; return function() { return number } } var number = 12; var s1 = closure(10);
- # Что отобразит браузер после выполнения кода? var module = { name: 'Elis', say: function(name) { alert('Hello ' + name ) }, } module.say('Silvia');
- # Что отобразит браузер после выполнения кода?? var module = { name: 'Elis', say: function(name) { alert('Hello ' + this.name ) }, } module.say('Silvia');
- # Какие значения и в каком порядке возвратятся при вызове функции func? function createCounter() { var numberOfCalls = 0; return function() { return ++numberOfCalls; } } var func = createCounter(); func(); func(); func();
- # Какое значение возвратит функция func? function createCounter(n) { return function() { return n; } } var func = createCounter(10); n = 24; var func2 = createCounter(15); func();
- # Какой код нужно использовать, чтобы в массиве из 10 ссылок, у каждой при клике на неё отображался её номер?
- # Чтобы отменить выполнение функции по таймауту timeout необходимо вызвать:
- # Что произойдет, если во время срабатывания таймаута(setTimeout(func)) Javascript уже будет занят обработкой другой функции?
- # В какой области видимости исполняются функции переданные setInterval?
- # Чтобы отменить выполнение функции по интервалу timer необходимо вызвать метод:
- # Сколько раз будет вызвана функция func во время выполнения цикла, если цикл будет продолжаться 4 секунды? setInterval(func1,1000); var s= ''; for(var i=0;i<10000000;i++) { s+=i+"text"+i*i; } function func1() { document.write('Функция выполнена') }
- # В какой области видимости вызываются функции переданные setTimeout?
- # Чему соответствует символ \s в регулярных выражениях?
- # Какой строке соответствует регулярное выражение /\d{3,5}\S\d+/?
- # Регулярное выражение ^[-.\w]+@(?:[a-z\d][-a-z\d]+\.)+[a-z]{2,6}$ соответствует:
- # Чему соответствует управляющая последовательность \d в регулярных выражениях?
- # Какой строке соответствует регулярное выражение /\w{3,5}\s\d?/?
- # Какое из этих регулярных выражений будет соответствовать любому URL?
- # Какой символ в регулярных выражениях обозначает начало строки?
- # Какой символ в регулярных выражениях обозначает конец строки?
- # Для поиска подстроки, состоящего из трех цифр, пробела и от 1 до 4 букв "a" или "d", необходимо регулярное выражение:
- # Какие флаги могут быть у регулярных выражений в Javascript?
- # Что обозначает флаг i в регулярных выражениях Javascript?
- # В чем преимущество метода создания регулярных выражений var re = new Range(), перед литеральной нотацией?
- # C помощью какой глобальной функции строки преобразуются в десятичные числа?
- # За что отвечает 2 аргумент функции parseFloat?
- # Если преобразовать строку в число не удаётся, функция parseFloat возвратит:
- # C помощью какой глобальной функции строки преобразуются в числа?
- # За что отвечает 2-й аргумент функции parseInt()?
- # Какое значение возвратит функция isFinite(Number.POSITIVE_INFINITY)?
- # Функция isFinite() предназначена для?
- # Функция isNaN() предназначена для:
- # В результате работы следующего кода s будет иметь значение: var s = 42; eval("s+=45"); if (s>42){s+=21}
- # Функция escape() предназначена для:
- # Какое значение возвратит функция parseFloat('s2.42')?
- # Результатом работы следующего кода будет: var s= 42; function ev() { eval("s=45"); } s+= 5; ev();
- # Какие системы счисления может принимать функция вторым аргументом функция parseInt()?
- # Выражение parseInt("11", 2) равно
- # Функция encodeURI() предназначена для:
- # Что подразумевает под собой паттерн "цепочка функций" (Function Chaining)?
- # Как правильно использовать цепочку функций (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; } }
- # Выберите правильный вариант создания объекта использующего "цепочку функций" (Function Chaining):
- # В каком из вариантов создания функции-перехватчика(Interceptor), добавляющий к результату 30, для функции func нет ошибок?
- # Какой результат будет выведен в браузер после выполнения кода? 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,2,3,4,5] необходим код
- # Как должна быть реализована "функция-перехватчик" (Interceptor) для функции say? function say(name) { return name; }
- # Что выведет браузер после выполнения кода? function add(a,b){ return a+b*5 } var oldAdd = add; add = function(a,b) { return oldAdd(a,b) + 23; } alert(add(42,3))
- # Найдите ошибку в коде 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))
- # Для реализации метода 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++] } } })()
- # Метод 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]; } } })()
- # Какой результат будет выведен при исполнении следующего кода var str = 'Java'; var it = Iterator(str); for (var a in it) { document.write(a); }
- # Что возвратит при третьем вызове метод next()? var it = Iterator({x:10,y:20}); it.next(); it.next(); it.next();
- # Как создать итератор для объекта {x:10,y:20}?
- # Какой результат будет выведен при выполнении кода var langs = ['JavaScript', 'Python', 'C++']; var it = Iterator(langs, true); for (var pair in it) { document.write(pair); }
- # Найдите ошибку в реализации паттерна "подписчик/издатель" (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); } } } } };
- # Какой результат будет выведен после выполнения кода? var num = 1999; var it = Iterator(num); for (var a in it) { document.write(a); }
- # Для того что бы сделать из любого объекта "издателя" в паттерне "подписчик/издатель" (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); } } } } };
- # Что будет если в паттерне "Подписчик/Издатель" (Publish/Subscribe) один из подписчиков будет слишком долго обрабатывать событие от издателя?
- # Какой результат будет выведен в браузер после выполнении следующего кода var langs = ['JavaScript', 'Python', 'C++']; var it = Iterator(langs); for (var pair in it) { document.write(pair); }
- # Что представляет из себя паттерн "подписчик/издатель" (Publish/Subscribe)?
- # Каким образом можно получить доступ к последнему элементу div на странице?
- # Для создания структуры, не имеющей главного родительского элемента, нужно использовать метод:
- # Каким образом можно найти все ноды c атрибутом title равным строке "message"?
- # Каким образом можно добавить в конец документа тэг <div>?
- # Как восстановить в документе ноду, удаленную методом removeNode()?
- # Каким образом можно удалить ноду c id "div"?
- # Каким образом можно вставить в документ фрагмент HTML? <h2> Заголовок </h2> <p> Sed ut perspiciatis, unde omnis iste natus. </p>
- # Аргумент метода cloneNode() предназначен для того чтобы:
- # Для создании копии ноды нужно использовать метод
- # Каким образом можно создать такую структуру: <div> ... </div> <div> ... </div> и вставить её в документ?
- # Как нужно использовать метод insertAfter() для вставки в документ ноды nodeDiv?
- # Как нужно использовать метод insertBefore() для вставки в документ ноды nodeDiv?
- # К чему приведет добавление одной функции как обработчика события дважды? document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func1,false);
- # За что отвечает метод event.stopPropagation() объекта Event?
- # Как добавить все элементам <p> обработчик showTitle события click в фазе всплытия?
- # Какой из обработчиков будет вызван раньше? document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func2,true);
- # Сколько раз будет выполнена функция func1 при клике на странице? document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func1,false); document.body.addEventListener('click',func1,true); function func1(e) { e.stopPropagation() }
- # Как добавить ноде div обработчик func1 события mouseoverв фазе захвата?
- # Событие "перемещение курсора по области элемента" называется
- # Координаты события click относительно экрана в объекте Event содержаться в свойствах:
- # Для того чтобы отменить действие по умолчанию в обработчике события нужно:
- # Событие mouseout возникает при
- # Координаты события click относительно документа в объекте Event содержатся в свойствах:
- # Код document.body.addEventListener('mousemove',func1,false):
- # Ссылка на корневой элемент <HTML> находится в:
- # Для того чтобы создать новый объект Range нужно вызвать метод
- # Какое событие генерируется при загрузке каркаса DOM документа?
- # Чтобы вставить текст "Sed ut perspiciatis, unde omnis iste natus error." в ноду с id="latin" нужно использовать код:
- # Чтобы найти все тэги <h1> c классом blue нужно использовать код:
- # Когда возникает событие load HTML-документа?
- # У текстовой ноды в свойстве nodeType содержится значение:
- # Если у ноды в свойство nodeType равно 2, значит эта нода:
- # Чтобы получить доступ к массиву, содержащему все дочерние элементы ноды, необходимо обратиться к свойству ноды:
- # С помощью какого метода можно добавить правило в таблицу стилей CSSStyleSheet?
- # Чтобы добавить это правило в таблицу стилей CSSStyleSheet, используя Javascript, необходим код: div { color:red; }
- # В чем ошибка в коде document.styleSheets[0].insertRule("H1 { text weight = bold; }", 0);?
- # Какой код нужно использовать, чтобы добавить всем дочерним элементам атрибут title содержащий имя элемента?
- # Чтобы заменить в документе oldNode на newNode нужен код:
- # Метод Node.hasChildNodes() возвращает:
- # Какие значения будут в массиве после выполнения кода? 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 до 5?
- # После сортировки массив var arr = [13,22,3,4,7]; arr.sort(function(a,b){return b-a}) будет равен:
- # Чтобы получить доступ к массиву стилей объекта CSSStyleSheet необходимо обратиться к его свойству
- # Для того чтобы выключить все правила таблицы стилей CSSStyleSheet необходимо
- # Объект CSSRule массива cssRules имеет свойства:
- # Чтобы получить из массива [1,2,3,4,5] строку "1:2:3:4:5" нужно использовать метод:
- # После выполнения кода массив array var array = [1,2,3,4,5]; array.slice(-3,-2); alert(array) будет равен:
- # Метод Array.unshift() предназначен для:
- # Метод join("+") вернет для массива [1,2,4,5]:
- # Фрагмент кода var array = new Array(4); создаст
- # Чтобы удалить последний элемент массива нужно использовать метод:
- # Создаваемый без аргументов объект класса Date - (var date = new Date()) равен:
- # Как узнать сколько полных дней между date1 и date2?
- # Чтобы создать дату - "2 августа 2000 года" нужно использовать код:
- # Метод Math.ceil():
- # Чтобы округлить число в меньшую сторону нужно использовать метод:
- # Метод для получения абсолютного значения(модуля) числа:
- # Выражение Math.pow(Math.abs(Math.ceil(-1,99)),0) равно:
- # Код new Math():
- # Какой метод объекта Math нужно использовать чтобы найти максимальное из 3 чисел?
- # Какие константы содержит объект Math
- # Метод Math.round():
- # Чтобы получить случайное число в интервале от 22 до 43 нужен код:
- # Какие методы тригонометрических функций содержит объект Math?
- # Какие методы округления есть у объекта Math?
- # Метод Math.random() генерирует случайно число в интервале:
- # Максимальное возможно число в Javascript хранится в:
- # Выражение 12345.6789.toExponential(1) равно:
- # Выражение 12345.toPrecision(3) равно:
- # Что выведет на экран данный код? var n = new Number(2); var biggest = n.MAX_VALUE alert(biggest)
- # Для того чтобы вывести число "пи" c 2 знаками после запятой нужно использовать код:
- # Выражение Number.NEGATIVE_INFINITY + Number.POSITIVE_INFINITY равно:
- # Для изменения регистра строки нужно использовать методы:
- # Чтобы преобразовать строку в массив подстрок нужно использовать метод:
- # Чтобы разбить предложение "Sed ut perspiciatis unde omnis iste natus error" на массив, каждый элемент которого равен одному слову нужно использовать код:
- # Выражение "Javascript".charAt(1).concat("Javascript".charAt( "Javascript".length-1)) равно:
- # Чтобы найти подстроку "script" в строке "javascript" нужно использовать метод:
- # Выражение "1 plus 2 equals 3".match(/\d+/g) равно:
- # Метод String.localeCompare() предназначен для:
- # Какое значение возвратит метод indexOf() если подстрока не будет найдена?
- # Метод String.indexOf() принимает вторым аргументом:
- # После выполнения кода массив result var url = /(\w+):\/\/([\w.]+)\/(\S*)/; var text = "Заходите на страницу http://www.intuit.com/about.html"; var result = text.match(url); будет равен:
- # Чтобы текст "Doe, John" преобразовать в "John Doe" нужен код:
- # После выполнения кода в переменная s будет равна: var s = "abcdefg"; s = s.slice(0,5) s = s.slice(2,4) s = s.slice(1);
- # Метод String.fromCharCode() предназначен для
- # Чтобы получить доступ к отдельным символам строки нужно:
- # Чтобы получить код символа в кодировке utf-8 нужно использовать метод:
- # Создание объекта запроса производится с помощью конструктора:
- # Объект XMLHttpRequest() позволяет осуществить запрос:
- # В каком формате принимает ответ от сервера объект XMLHttpRequest()?
- # Метод Date.valueOf() возвращает для даты:
- # Чтобы получить у объекта Date локализованное строковое представление, нужно использовать метод:
- # Чтобы установить в экземпляре класса Date 2011-й год нужно использовать метод:
- # Чтобы преобразовать ответ от сервера, responseTextпришедший в формате JSON, в нативный Javascript объект нужно использовать код:
- # Чтобы получить доступ к объекту document полученного с сервера XML-документа нужно использовать свойство объекта XMLHttpRequest:
- # Какой должен прийти ответ с сервера чтобы код отработал без ошибок? 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)
- # Код new Date(2010, 11, 2) создаст объект класса Date содержащий дату:
- # Код new Date(2010, 1, 1) создаст объект класса Date содержащий дату:
- # Чтобы установить в экземпляре класса Date месяц - август, нужно передать методу setMonth():
- # Какие методы запросов могут быть у объекта XMLHttpRequest?
- # Для отправки синхронного запроса на сервер нужно
- # Какое значение свойства readyState говорит о том ответ от сервера полностью получен?
- # Для создания объекта запроса необходимо использовать код:
- # Для осуществления запроса POST необходимо
- # Для отправки запросов служит метод:
- # Чтобы отменить запрос нужно вызвать метод:
- # В каком виде возвращает заголовки ответа метод xhr.getAllResponseHeaders()?
- # Какой код ответа сервера говорит о том что запрос завершился успешно?
- # Какое значение будет иметь свойство readyState, если метод sеnd() был вызван, но ответ от сервера еще не получен:
- # При выполнении запроса, код ответа сервера содержится в свойстве:
- # C какими префиксами может работать объект XMLHttpRequest?
- # Какое свойство экземпляров объекта будет ссылать на функцию Animal? function Animal(){ this.name = 'cat'; } var obj = new Animal();
- # Какое значение примет свойство 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)
- # Для того чтобы у всех экземпляров класса Animal появился метод show() нужен код:
- # Метод запроса HEAD используется для:
- # Для отправки асинхронного запроса на сервер нужно
- # Какое значение свойства readyState говорит о том, что идет получение ответа сервера?
- # Какое значение примет свойство prop объекта animal после выполнения кода? function Animal(){ this.mame = 'cat'; } Animal.prototype.prop = 10; Animal.prototype.constructor.prototype.prop = 20; var animal = new Animal();
- # Как правильно выполнить наследование чтобы все экземпляры класса Bird наследовали методы класса Animal? function Animal(name){ this.name = name; } Animal.prototype.show = function(){alert(this.name)}; Animal.prototype.setName = function(name){this.name=name};
- # От какого объекта все созданные классы и объекты наследуют методы toString()и valueOf()?
- # Метод XMLHttpRequest.abort() предназначен для:
- # С помощью какого метода можно отправить повторный запрос на сервер в случае неудачи первого запроса?
- # Каким образом можно узнать, что запрос завершился неудачей?
- # Что покажет браузер после выполнения кода? function Animal(){ } var animal = new Animal(); alert(Animal.prototype.constructor)
- # Какое значение примет 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)
- # В какой строке ошибка: 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)
- # На какой объект ссылается свойство constructor класса Animal? function Animal(){ this.mame = 'cat'; } var obj = new Animal(); alert(Animal.constructor)
- # Чему будет равно свойство id объекта animal после выполнения кода? Object.prototype.id = 32; function Animal(){ id = '33'; } Animal.id = '41' var obj = new Animal(); alert(obj.id)
- # Какой объект в javascript стоит на вершине иерархии объектов?
- # Код var total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; }) поместит в переменную total значение:
- # Чтобы объединить 2 массива array1 и array2в один нужно использовать код:
- # Чему будет равна переменная a после выполнения кода? var a = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) { return a.concat(b); }, []);
- # Чтобы проверить является ли свойство объекта перечисляемым в цикле for...in нужно использовать метод:
- # В каком из вариантов правильно реализовано наследование?
- # С помощью какого метода можно определить является ли один объект прототипом другого?
- # Как обозначаются в Javascript числа в шестнадцатеричной системе счисления?
- # Как обозначаются в Javascript числа в восьмеричной системе счисления?
- # Каково значение выражения '42'+4*2+42?
- # Метод hasOwnProperty() возвратит значения: var o = new Object(); o.x = 3.14; alert(o.hasOwnProperty("x")) alert(o.hasOwnProperty("y"))
- # Свойства в каком объекте будут иметь приоритет при поиске значения определенного свойства в цепочке наследования?
- # Что будет выведено в браузер после выполнения кода? var o = new Object(); o.id = 1; o.name = "myObject"; alert(o.toString())
- # Чтобы "отловить" ошибку (исключение) в Javascript необходимо:
- # Для того что самостоятельно создать ошибку (выбросить исключение) существует инструкция
- # Какое свойство объекта Error предназначено для хранения строки, содержащей подробные сведения о возникшей ошибке?
- # Код var array = [0, 1, 1, 0].reduce(function(a, b){ return a * b; }) поместит в переменную array:
- # Инструкция typeof null возвратит:
- # Какое значение будет иметь переменная a после выполнения кода: var a = [22, 11].reduceRight(function(a, b) { return a.concat(b); }, []);
- # Каким образом можно вызвать метод одного объекта от имени другого?
- # Какой результат будет выведен в браузер после выполнения кода? var a = {name:"a"}; a.showName = function(){alert(this.name)} var b = {name:"b"}; a.showName.call(b)
- # В чем отличие метода call от метода apply?
- # Как обозначаются в Javascript числа в троичной системе счисления?
- # В какой системе счисление представлено число 0x10?
- # Выражение 4*2+'42'*2 равно:
- # Какое значение x покажет браузер? var x = 2; function a(){ var x = 10; function b(){ alert(x) } b.x = 0; b(); } a.x = 5; a();
- # В какой области видимости происходит первоначальный поиск переменных внутри функции?
- # C помощью какого свойства функции можно узнать сколько параметров было указано при объявлении функции?
- # Инструкция try{ … }catch(e){ … } предназначена для:
- # Чтобы при передаче функции числа аргументов отличного от того, что было указано при её объявлении было брошено исключению, нужно использовать код:
- # Какое свойство объекта Error предназначено для хранения строки, содержащей тип ошибки?
- # Какие варианты из приведенных ниже - не содержит ошибок?
- # Что произойдет, если внутри функции объявить новую переменную без ключевого слова var?
- # Какой результат будет выведен после выполнения кода? var s = 0; for(var i=0;i<10;i++) { if(s % 2 !=0){ s+=2 }else{ s+=1 } } alert(s)
- # Метод toString() вызванный для функции:
- # Как можно получить доступ к переменным внутри функции, которые не были указаны при создании функции?
- # Чтобы вызвать метод show() объекта one от имени объекта two нужно использовать код: var one = {} one.show = function() { alert(this.name) } var two= {}; two.name = 'John';
- # Какой результат будет выведен после выполнения кода: var s = 0; for(var i=0;i<10;i++) { if(s % 2 ==0 ) continue; s++ } alert(s)
- # Инструкция break предназначена для:
- # Для обхода всех свойств и методов объекта предназначена инструкция
- # Чтобы cookie передавалось только по протоколу https при его создании нужно указать атрибут:
- # Чтобы создать новый элемент cookie нужно:
- # Чтобы cookie были доступны на всех страницах сервера site.ru нужно указать:
- # Чтобы записать в cookie дату последнего изменения страницы с временем жизни 1 год нужен код:
- # Чтобы удалить cookie нужно:
- # Чтобы проверить включено ли в браузере хранение cookie нужно:
- # Для подключения внешней библиотеки javascript с помощью тэга <script> необходимо:
- # Для решения проблем производительности в коде нужно использовать инструмент:
- # Отладчик (Debugger) необходим для:
- # Для импорта библиотек javascript необходимо:
- # Профайлер необходим для:
- # Для пошагового выполнения кода необходимо использовать: