Странное поведение Object.assign

Есть несколько способов, наиболее заметными из которых являются получение данных формы или получение строки запроса. Вот один метод с использованием JavaScript. Когда вы нажмете на ссылку, он вызовет _vals ('mytarget', 'theval'), который будет отправлять данные формы. Когда ваша страница отправляется назад, вы можете проверить, были ли эти данные формы установлены, а затем извлечь их из значений формы.

<script language="javascript" type="text/javascript">
 function _vals(target, value){
   form1.all("target").value=target;
   form1.all("value").value=value;
   form1.submit();
 }
</script>

В качестве альтернативы вы можете получить ее через строку запроса.

Я уверен, что есть, вероятно, больше методов, которые лучше, но это лишь некоторые из них, которые возникают на ум.

РЕДАКТИРОВАТЬ: основываясь на этом, из того, что говорили другие, используя вышеупомянутый метод, у вас будет якорный тег, такой как

<a onclick="_vals('name', 'val')" href="#">My Link</a>

. А затем на вашем PHP вы можете получить данные формы с помощью

$val = $_POST['value'];

Поэтому, когда вы нажимаете на ссылку, которая использует JavaScript, она будет публиковать данные формы, и когда страница будет возвращена из этого щелчка, вы можете получить ее из PHP.

3
задан Bergi 17 January 2019 в 13:51
поделиться

1 ответ

Функция Object.assign() изменяет содержимое первого параметра объекта, который равен a. Это также возвращаемое значение, поэтому после первого вызова Object.assign(), который устанавливает значение d, будет верно, что d === a.

Таким образом, присвоение «s» a.a также изменит d.a, потому что d и a ссылаются на один и тот же объект.

Просто добавив мои два цента, простым способом:

Другими словами, оператор распространения делает это:

d = Object.assign({}, a, b, c, d);
e = { ...a, ...b, ...c, ...d };

Теперь оба вышеприведенных то же самое.

0
ответ дан Praveen Kumar Purushothaman 17 January 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: