JavaScriptの変数問題

1183 ワード

変数の基本タイプと参照タイプについて
  • 基本タイプは、Unidefined Null Boolean Number Stringを含みます.この5つの基本データタイプは、値によってアクセスされます.変数に保存された実際の値を操作できるので、
  • 参照タイプは、複数の値からなるオブジェクトを指し、参照タイプの値は直接メモリに保存され、JavaScriptは直接アクセスが許可されていません.つまり、対象のメモリ空間を直接操作できないということです.
  • 1.基本タイプ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である.