Вопросы интервью
один,
Кода -копия выглядит следующим образом:
Пожалуйста, определите такую функцию
Функция повторения (фанк, время, подожди) {
}
Эта функция может вернуть новую функцию, например,
var deatperedfun = repeat (оповещение, 10, 5000)
Назовите это RepectedFun ("Hellworld")
Заглядывает на то, чтобы предупредить Helloworld десять раз, каждый раз, когда интервал - 5 секунд
два,
Кода -копия выглядит следующим образом:
Напишите функцию StringConcat, который требует
var result1 = stringConcat ("a", "b") result1 = "a+b"
var stringConcatWithPrefix = stringConcat.prefix ("Hellworld");
var result2 = stringConcatWithPrefix ("a", "b") result2 = "HellWorld+A+B"
Боковые блюда раствор
Эти два вопроса проверяют закрытие. Не говоря о большой чепухе, просто введите код.
Кода -копия выглядит следующим образом:
/**
* Вопрос 1
* @param func
* @param Times
* @param Подождите
* @returns {repeatImpl}
*/
Функция повторения (фанк, время, подожди) {
// не используются анонимные функции для облегчения отладки
function RepectImpl () {
var
_arguments = аргументы,
i = 0;
handle = setInterval (function () {
i = i + 1;
// Отмена таймера при указанном количестве раз
if (i === times) {
ClearInterval (ручка);
возвращаться;
}
func.apply (null, _arguments);
},ждать);
}
вернуть повторный размер;
}
// Тестовые случаи
var repeatfun = repeat (оповещение, 4, 3000);
RepeatFun ("HellWorld");
/**
* Вопрос 2
* @returns {String}
*/
функция stringConcat () {
var result = [];
stringConcat.merge.call (null, результат, аргументы);
return result.join ("+");
}
stringConcat.prefix = function () {
var _arguments = [],
_ Это = это;
_this.merge.call (null, _arguments, аргументы);
return function () {
var _args = _arguments.slice (0);
_This.merge.call (null, _args, аргументы);
вернуть _this.apply (null, _args);
};
};
stringConcat.merge = function (массив, массив) {
var i = 0;
for (i = 0; i <arraylike.length; i ++) {
Array.push (Arraylike [i]);
}
}
// Тестовые случаи
var result1 = stringConcat ("a", "b"); // result1 = "a+b"
var result3 = stringConcat ("c", "d"); // result1 = "a+b"
var stringConcatWithPrefix = stringConcat.prefix ("Hellworld");
var stringConcatWithPrefix1 = stringConcat.prefix ("Hellworld1");
var result2 = stringConcatWithPrefix ("a", "b"); // result2 = "Hellworld+A+B"
var result4 = stringConcatWithPrefix1 ("c", "d"); // result2 = "Hellworld+A+B"
предупреждение (результат1);
предупреждение (результат2);
предупреждение (результат3);
предупреждение (результат4);