Я пишу вот такой код:
function setvar(varname) {
var varname = '1';
}
setvar('itemnumber');
document.getElementById("items").innerHTML = itemnumber;
Будет ли он работать?
нет, var имеет область видимость только внутри функции (глобальная область, если переменная объявлена глобально).
кстати, у вас два раза объявлена переменная varname внутри функции. второе объявление лишнее.
function setvar(varname) { //неявный var
varname = '1'; //здесь var проигнорируется
}
чтобы ваш код заработал, функцию нужно написать так:
function setvar(varname) {
window[varname] = '1';
}
setvar('itemnumber');
document.getElementById("items").innerHTML = itemnumber; //берется из window
Параметры функции имеют область видимости функции. Поэтому если аргумент является одним из примитивных типов, то его изменения внутри функции не будут влиять на сам исходный аргумент.
Поэтому в этом определении функции
function setvar(varname) {
var varname = '1';
}
исходный аргумент, переданный в качестве значения параметр varname
, не будет изменен.
Кроме того, вы передаете в функцию строковый литерал, а не переменную, объявленную вне функции
setvar('itemnumber');
Поэтому данное предложение
document.getElementById("items").innerHTML = itemnumber;
не имеет смысла, так как переменной itemnumber
не существует.
Вы могли бы создать объект, и его передавать вместе с названием свойства в функцию. Например,
function setvar(obj, varname) {
obj[varname] = '1';
}
var obj = {};
setvar(obj, 'itemnumber');
document.getElementById("items").innerHTML = obj.itemnumber;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Решил разобрать маленький фреймворк Sortable (для сортировки элементов на странице) и не могу понять небольшой кусок кода
Документация по синтаксису шаблонов, шаблонизатора bem-xjst, предикатыК первому подпредикату показан и объяснен пример, который не работает
То есть мне нужно что бы массив в js начинался не с 0, а с 1При этом не удаляю никаких элементов
Всем приветПодскажите, есть ли способ проверки ссылки на изображение через JS?