Показать сообщение отдельно
  #87 (permalink)  
Старый 31.03.2015, 03:51
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Сообщение от jaroslav.tavgen
Ибо указатель - это адрес.
Ты путаешь физический адрес с типом данных(указатель) и как следствие в голове у тебя каша не верных выводов.

В С С++ указатель это базовый тип данных описанный в спецификации который хранит в себе физический адрес.

Указатель javaScript больше всего похож на ссылочный тип данных в других языках т.е. имея ссылку на объект мы можем манипулировать им.
В JS нет такого типа данных как указать нет линейной адресации нет адресной арифметики.

Доступ к данным(адресация) в низкоуровневых языках реализуется с помощью линейно адресуемой физической памяти. в JavaScript используются высокоуровневая абстракция в виде двух древовидных структур( глобальная область видимости и текущий scope) которые позволяют манипулировать данными через имена переменных.
Каждое имя переменой или свойство объекта(что в принципе одно и то же) хранит в себе ссылку(указатель) на данные.
Любые операции кроме ( = && === ) будут работать со значением полученным по этой ссылке.
Присваивание для сложных типов всегда копирует ссылку на объект.
Присваивание для примитивных типов создает новый объект и копирует значение полученное по ссылке.
т.е. для доступа к данным (адресации)
в Ассемблере используется физический адрес - "030BC123"
в JavaScript имена разделенные точками - "wondow.document.body"

т.е. в каком то смысле "id1" в JS это то же самое что и "030BC123" в Assembler.

Последний раз редактировалось MallSerg, 31.03.2015 в 03:57.
Ответить с цитированием