JavaScriptの変数問題
1183 ワード
変数の基本タイプと参照タイプについて基本タイプは、Unidefined Null Boolean Number Stringを含みます.この5つの基本データタイプは、値によってアクセスされます.変数に保存された実際の値を操作できるので、 参照タイプは、複数の値からなるオブジェクトを指し、参照タイプの値は直接メモリに保存され、JavaScriptは直接アクセスが許可されていません.つまり、対象のメモリ空間を直接操作できないということです.
1.基本タイプ
2.参照の種類
次の二つの例を見てみます.
第二のセグメントコードが異なるのは、オブジェクトのage属性の値をpersonBに割り当てることであり、ここでのpersonBはオブジェクトを指すものではなく、具体的な値であるため、ここでの出力は18である.
var num1 = 5; var num2 =num1;
num 1には5の値が保存されています.2番目の文ではnum 1でnum 2の値num 2の値を初期化します.でも、2つの変数は相互に独立しています.2.参照の種類
var obj1 = new Object (); var obj2 = obj1; obj1.name = "zhangsan"; alert(obj2.name); // zhangsan
まず、Obj 1は新しいオブジェクトを保存します.そして、このオブジェクトをObj 2にコピーすると、Obj 1とObj 2は同じオブジェクトを指します.Obj 1にname属性を追加すると、Obj 2もname属性にアクセスできます.次の二つの例を見てみます.
var personA = { name = "wz", age = 18, }; var personB = personA; person.age = 19; console.log(personB.age);
var personA = { name = "wz", age = 18, }; var personB = personA.age; person.age = 19; console.log(personB.name);
最初のセグメントコード:まず一つの変数personaを定義しました.一つのオブジェクトの中に二つの属性があります.それぞれnameとageです.nameとageは基本変数です.次にpersonaをpersonBに割り当てます.実はpersonaとpersoBは同じオブジェクトを指しています.そして、19を対象のage属性の値に変更しました.だから出力は19です.第二のセグメントコードが異なるのは、オブジェクトのage属性の値をpersonBに割り当てることであり、ここでのpersonBはオブジェクトを指すものではなく、具体的な値であるため、ここでの出力は18である.