Механизм передачи аргументов функции
Здравствуйте! В представленном ниже коде
должно отображаться увеличение аргумента на единицу
// Функция с аргументом:
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, время: 09:20. |