- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет. Вопрос про функции. Объясните чайнику, почему:
1. Так можно:
var erg = [35.23,98.21,56.78,23.12];
function ner(par1,par2) {
for(i=0;i<par1.length;i++) {
var test = par2(erg);
document.write(test + "<br />");
}
}
ner(erg,Math.round);
Но нельзя так:
var erg = [35.23,98.21,56.78,23.12];
function ner(par1,par2) {
for(i=0;i<par1.length;i++) {
var test = Math.par2(erg);
document.write(test + "<br />");
}
}
ner(erg,round);
Почему он ругается во втором случае, он ведь должен вроде как вместо par2 подставить round и тогда получится всё тот же Math.round?
==========================================
Есть код:
var test = prompt("число от 500 до 10000");
var regv = /[а-яА-Яa-z-A-Z]/;
var test2 = test.search(regv);
function hjer(par1,par2) {
var proba = par1.fadeOut(par2);
return proba;
}
if(test < 500 || test > 10000) {
document.write("ошибка");
}
else if (test2 == 0) {
document.write("ошибка");
}
else {
hjer($('#img_1'),test);
}
Беда в том, что в test (второй параметр) не подставляется то число, которое передал пользователь. Т.е. картинка берет и сворачивается сразу, не взирая на количество миллисекунд. Где ошибка? P.S. Если же я в качестве второго параметра(или аргумента, еще не разобрался, как правильно) задам цифру вручную (т.е. будет не var proba = par1.fadeOut(par2); а var proba = par1.fadeOut(9000); , то всё работает нормально.
Всем заранее спасибо, хотелось бы закрыть этот пробел в знаниях.
Почему он ругается во втором случае, он ведь должен вроде как вместо par2 подставить round и тогда получится всё тот же Math.round?
Кому должен? 😂 В первом случае вы передаете ссылку на Math.round которую и вызываете. Во втором случае вы пытаетесь вызвать функцию с именем par2 объекта Math. Функции такой нет, поэтому и ругается.
Про первый вам пояснили уже. Вы имя переменной со значением перепутали.
Если хотите имя передавать, то надо типа так
при вызове
внутри функции
Но, честно скажу, выглядит диковато.
По второму вопросу - во-первых, советую использовать отладчик в браузере и пошагово прогнать, может где-то с областью видимости ошиблись или перезаписали перменную.
Ну и на всякий случай попробовать привести к числу через parseInt() внутри функции.
kom09,Дикий пионер спасибо, по первому случаю теперь всё стало понятно.
Касаемо второго я там дал недостаточно данных, вероятно. Этот код уже с использованием jquery (и я привел его немножко не в том виде). Смотрите, вот та же самая работающая функция, но без параметров:
var test = prompt("число от 500 до 10000");
var regv = /[а-яА-Яa-z-A-Z]/;
var test2 = test.search(regv);
function hjer() {
$('#img_1').fadeOut(4000);
}
if(test < 500 || test > 10000) {
document.write("ошибка");
}
else if (test2 == 0) {
document.write("ошибка");
}
else {
hjer();
}
В качестве параметров я хотел изменять те места, что выделил жирным. Т.е. чтобы я сам мог изменить картинку и чтобы в .fadeout() подставлялось то значение, что я запросил в var test = prompt("число от 500 до 10000");
Выглядит-то код нормально, сейчас проверил - fadeOut() и строку понимает.
Открывайте средства разработчика, смотрите что пишет в консоли.
Ну и отладчиком либо console.log() пользуйтесь. https://habrahabr.ru/post/114483/