Вопрос насчет массива (нач уровень)
<!DOCTYPE html>
<html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> const foo = [1, 2, 5, 6]; const bar = foo; bar[0] = 9; console.log(bar[0], bar[1], bar[2], foo[0]); // => 9 2 5 9 </script> </body> </html> почему последняя цифра 9 ? разве не должно быть 6 т.к массив foo остается прежним |
у массивов тип данных объект, данные передаются по ссылке
https://www.youtube.com/watch?v=4oud...eWwem&index=21 первые две минуты посмотрите |
bar - ссылка на массив foo
var foo = [1, 2, 5, 6]; var bar = foo; bar[0] = 9; alert(foo); bar - новый массив var foo = [1, 2, 5, 6]; var bar = foo.slice(); // или foo.concat(); bar[0] = 9; alert(foo); alert(bar); (Поставил var, т.к. с const не запускается повторно демонстрашка) |
Часовой пояс GMT +3, время: 04:31. |