Подмена переменной в функции
ПЕРВЫЙ ВАРИАНТ МОЙ (ОН РАБОЧИЙ). Я до него додумался сам:
Код:
function f(x){ ВТОРОЙ ВАРИАНТ С УЧЕБНИКА. МНЕ ЛИЧНО НЕ ПОНЯТЕН: Здесь оглашается переменная z, которая в итоге, выводится вместо аргумента x в функции. Где конкретно z = x? Код:
function f(x){ |
Цитата:
Цитата:
|
Конкретно то, что изначально аргумент функции был x, и в операторах if и else также фигурирует x. Но потом вдруг сдесь начинает фигурировать z:
Цитата:
|
Парень, этож самые основы основ, почитай вон учебник сначала, чтоб не было таких вопросов.
Если коротко: внутри функции свои переменные, снаружи другие. Тот x что у тебя снаружи - это не тот x что внутри. Когда ты делаешь f(что-то), то для function f(x) - x = что-то, для функции function f(y) - y = что-то. |
Я изучаю несколько учебников, в том числе тот, на который вы дали ссылку.
В моей ситуации сначала объявляется перемення z, ей присваивается значение 9*Math.random()-2. После чего оно через метод document.write выводится в браузер. Затем через метод document.write() вызывается функция f() с аргументом (параметром) z, в который передается копия переменной z. Проходя через условия if, else, в браузере отображается новое значение копии переменной z. Сама же переменная z своего значения не меняет. Такой механизм передачи аргументов (параметров) называется передачей по значению. |
В математике изучается «sin x», но это вовсе не означает, что синусу только икс подходит…:lol:
В уравнениях те же «x, y, z» проходили? Это же не значит, что имена переменных всегда должны именоваться так… ![]() Просто в пределах уравнения/функции переменные для удобства и краткости именуются традиционными аргументами. |
Это все понятно. Но у меня в примере на основании имени аргумента (который грубо говоря является переменной) происходили расчеты в теле функции. А тут вдруг объявилась переменная с другим именем и значения, которые были даны этому имени начали учавствовать в расчетах в теле функции. Как оказалось эти значения оказались всего лишь копией объявленной переменной и эти копии участвовали в расчетах в теле функции. Такой механизм передачи аргументов (параметров) называется передачей по значению.
|
Часовой пояс GMT +3, время: 20:41. |