Механизм передачи аргументов функции
Здравствуйте! В представленном ниже коде
должно отображаться увеличение аргумента на единицу // Функция с аргументом: function f(x){ //Значение аргумента: var x = 100 document.write("Aргумент: "+x+"<br>") // Изменяется значение аргумента: х++ // Новое значение аргумента: document.write("Aргумент: "+x+"<br>") } // Переменная: var num=100 // Значение переменной до вызова функции: document.write("Переменная: "+num+"<br>") // Вызов функции: f(num) // Значение переменной после вызова функции: document.write("Переменная: "+num+"<br>") Но по итогу, отображаются только исходные значения. С чем это связано? |
DenisZ,
при совпадении имени переменной созданной внутри функции и названия аргумента функции, переменная "перезапишет" аргумент. и ошибку в строке 7 исправьте. |
Здравствуйте, спасибо за ответ!
А в чем именно состоит ошибка в строке 7? Sandbox, кстати, тоже высвечивает это как ошибку. |
Цитата:
|
function f(x1){ let argType; argType = typeof (x1); switch (argType) { case "number": document.write(x1+" Числовой аргумент<br>"); break; case "string": document.write(x1+" Текстовый аргумент<br>"); break; } } f("большое"); f("спасибо!"); |
DenisZ,
на всякий случай ещё подсказка ru/en |
Цитата:
Писать x = typeof (y) все равно, как написать x = - (y). Вроде и не ошибка, но коряво как то. А вообще по мне то, что в js в идентификаторах допускаются любые буквы - боль. Сам не раз нарывался на это особенно с 'c' и 'с'. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 23:27. |