オブジェクトの紹介
1.組み込みオブジェクト
- ES標準で定義されたオブジェクトは、任意のES標準で使用できます。
- 比如:数学文字列番号ブール関数オブジェクト
2.ホストオブジェクト
- JSランタイム環境によって提供されるオブジェクトは、現在主にブラウザーによって提供されます。BOMDOMなど
3.カスタムオブジェクト
- 開発者自身が作成したオブジェクト。
オブジェクトは、全体を形成するための属性と値を含むビニール袋に相当します
オブジェクトの基本操作
1.オブジェクトを作成します
- newキーワードを使用して呼び出される関数はコンストラクターです
- コンストラクターは、オブジェクトの作成に特に使用される関数です。
var obj = new object();
2.オブジェクトに属性を追加し、属性を読み取ります
var obj = new object();
obj.name = "George";
obj.gender = "男";
obj.age = "23"
console.log(obj.name); //读取
3.変更および削除
obj.name = "tom"; //对象.属性名 = 新值
delete obj.name; //删除
変数の属性名と属性値
1.変数名
- 変数名は混乱を招く可能性があります。特別な属性名を使用する場合、の方法を使用することはできません。操作するには、別の記述方法が必要です。オブジェクト[属性名] =属性値
- 読書もこのように必要です。[]を使用して、属性をより柔軟に操作します。[]変数を渡すこともできるので、変数の値はその属性を読み取ることができます。
obj["123"] = 789;
obj["nihao"] = "你好";
var n = "nihao";
console.log(obj["123"]);
console.log(obj[n]);
2.属性値
- JSオブジェクトの属性値は、任意のデータ型にすることができます
var obj = new object();
obj.test = true;
obj.test = 123;
obj.test = "垃圾";
- オブジェクトを別のオブジェクトのプロパティ(molls)に設定できます
var obj2 = new Object();
obj2.name = "叔本华";
//将obj2设置为obj属性
obj.test = obj2;
console.log(obj.test); //打印obj2
console.log(obj.test.name);
基本データ型と参照データ型
- 基本データ型:文字列番号ブールヌル未定義
var a = 132;
var b = a;
a++;
console.log("a = "+a); //132
console.log("b = "+b); //133
理解:基本的なデータ型はスタックメモリに格納され、変数名は値に対応します。現時点では、a ++はaのみを変更します。bには影響しません
- 参照データ型オブジェクト
var obj = new Object();
obj.name = "海明威";
var obj2 = obj;
obj.name = "尼采";
console.log(obj.name); //尼采
console.log(obj2.name); //尼采
理解:参照データ型は、ヒープメモリアドレスをスタックメモリに保存します。ヒープメモリアドレスの変数が変更されると、このアドレスの変数値へのすべてのポインタが変更されます。
- オブジェクトの値をnullに設定すると、切断を意味します。切断しても、セカンダリメモリのアドレスを指す他のパラメータには影響しません。
オブジェクトリテラル:オブジェクトを作成するときに、内部のプロパティを割り当てることができます
var obj = {
}; //此声明方式等于 var obj = new Object();
var obj2 = {
name:"猪八戒",
age:25,
gender:"男",
test:{
name:"沙和尚"}
};
プロパティまたは内部オブジェクトを宣言できます。