Я жил в предположении, что в Javascript есть примитивные типы и ссылочные типы. На повседневной основе я никогда не оказывал на меня такого влияния, но я только начинал намного больше JS и хотел обновить свое "мышление". Другими словами, я бы поставил $20, что следующее вернет 68
var my_obj = {};
var tmp_obj = {};
tmp_obj.my_int = 38;
my_obj.tmp_val = tmp_obj.my_int;
tmp_obj.my_int = 68;
alert('68 means reference, 38 means primitve: ' + my_obj.tmp_val);
но он возвращает 38.
Являются ли все экземпляры чисел примитивными типами, даже если они существуют в контексте ссылочного типа? Если я, я действительно удивлен и нахожу это странное поведение (и не будет 20 долларов США). Или мой пример не показывает, что я думаю?
спасибо заранее
ОБНОВЛЕНИЕ # 1
Ничего себе, спасибо для всех ответов. Здесь небольшое изменение, которое помогает мне в недоумении:
var my_obj={};
var tmp_obj={};
var my_obj_2=tmp_obj;
tmp_obj.my_int=38;
my_obj.tmp_val=tmp_obj.my_int;
tmp_obj.my_int=68
alert('68 means reference, 38 means primitve: ' + my_obj.tmp_val); // 38
alert('68 means reference, 38 means primitve: ' + my_obj_2.my_int); // 68
my_obj_2.my_int=78;
alert(tmp_obj.my_int); // tmp_obj is now 78 ie two way