Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задать тело одиночной функции f таким образом (https://javascript.ru/forum/misc/64663-zadat-telo-odinochnojj-funkcii-f%C2%A0takim-obrazom.html)

jzetko 28.08.2016 09:27

Задать тело одиночной функции f таким образом
 
Здравствуйте. Недавно начал изучать javascript. Наткнулся на вот такую задачку. Интересно узнать решение (как-то не доходит оно пока до меня.))
Буду признателен за помощь.)

Задайте тело одиночной функции f таким образом, чтобы значение i2.value
стало синхронизировано с i1.value, то есть, оно должно быть равно
i1.value и в дальнейшем меняться при изменении i1.value.
i1 и i2 – input элементы.
Ограничение1: нельзя использовать глобальные переменные
Ограничение2: i1.id и i2.id неопределены, и их нельзя определять
Ограничение3: нельзя модифицировать свойства i1 и i2, кроме value и
свойств, отвечающих за события (onChange и т.п.).
function f(i1,i2) // i1,i2 - input-элементы
{}

рони 28.08.2016 09:51

jzetko,
какая проблема назначить в функции обработку события для i1?
i1.addEventListener ... далее сами

scrollquest 28.08.2016 17:43

как вариант
<input> <input>
<script>

inputs = Array.from(document.querySelectorAll("input"))
inputs.forEach(input => {input.oninput = function(){inputs[0].value = inputs[1].value = this.value}})
</script>

рони 28.08.2016 18:00

scrollquest,
а где функция f ?

scrollquest 28.08.2016 18:33

рони,
разуй глаза, умник
<input> <input>
<script>
 
inputs = Array.from(document.querySelectorAll("input"))
inputs.forEach(input => {f = input.oninput = function(){inputs[0].value = inputs[1].value = this.value}})
alert(f)
</script>

Еще ченть пояснить, или пойдешь попросишь у мамки борща?

рони 28.08.2016 19:08

scrollquest,
задание не выполнено, садись двоечник :)
смотри начало решения в посте 2.

scrollquest 28.08.2016 19:16

рони,
ты реально какой то тугой. Может вот так допрет?
<input> <input>
<script>
f = function(){inputs[0].value = inputs[1].value = this.value}
inputs = Array.from(document.querySelectorAll("input"))
inputs.forEach(input => { input.oninput = f})
</script>

какую тебе эф надо, ты чо идиот?

рони 28.08.2016 19:19

scrollquest,
function f(i1,i2) // i1,i2 - input-элементы
{/* это тело функции, i1 и i2 аргументы, здесь код написать нужно */  }

scrollquest 28.08.2016 19:33

рони,
А, ну напиши там параметры, епт, цирк то уехал
<input> <input>
<script>
f = function(input1, input2){
   input1.oninput = input2.oninput = function(){input1.value = input2.value = this.value}
}
inputs = Array.from(document.querySelectorAll("input"))
f(inputs[0], inputs[1])
</script>

рони 28.08.2016 19:44

scrollquest,
читать то когда научишься что ТС пишет?
<input> <input>
<script>
f = function(input1, input2){
   input1.oninput = function(){input2.value = this.value}
}
inputs = Array.from(document.querySelectorAll("input"))
f(inputs[0], inputs[1])
</script>


Часовой пояс GMT +3, время: 13:22.