Почему выводит undefined
?
function rush (filename){
(function(){
var res = filename.split(".");
var b = res[res.lenght - 1];
return b;
})();
}
alert(rush("work.tt"));
Заранее благодарен!
Почему выводит undefined?
Потому что функция rush - ничего не возвращает.
Если убрать все лишнее функцию можно записать так:
function rush (filename){
(function(){...})();
}
Отсюда хорошо видно отсутствие return. Поэтому результат этой функции всегда - undefined.
Решение "в лоб" - добавление return
function rush(filename) {
return (function() {
var res = filename.split(".");
var b = res[res.lenght - 1];
return b;
})();
}
console.log(rush("work.tt"));
При добавлении можно заметить, что все равно не работает. Так как допущена опечатка
lenght -> length
function rush(filename) {
return (function() {
var res = filename.split(".");
var b = res[res.length - 1];
return b;
})();
}
console.log(rush("work.tt"));
Теперь видно, что самовызывающаяся функция не нужна
function rush(filename) {
var res = filename.split(".");
var b = res[res.length - 1];
return b;
}
console.log(rush("work.tt"));
Также, для получения последнего элемента массива можно использовать функцию pop
function rush(filename) {
return filename.split(".").pop();
}
console.log(rush("work.tt"));
function rush (filename){
var res = filename.split(".");
return res[res.length - 1];
}
alert(rush("work.tt"));
Виртуальный выделенный сервер (VDS) становится отличным выбором
Всем привет, подскажите пожалуйста как добавить несколько атрибутов в OnClickЕсть код:
Данный вопрос является точным дубликатом: