1.オブジェクトは属性とメソッドで構成されています。
2.作成方法:
- リテラルを使用してオブジェクトを作成する
- 新しいオブジェクトを使用してオブジェクトを作成します
- 使用してコンストラクタを、オブジェクトを作成します
1リテラル
<script>
//1.创建对象
var dog = {
name: '可可',
type: '阿拉斯加犬',
age: 5,
color: 'brown',
bark: function() {
console.log('汪汪汪');
},
showFilm: function() {
console.log('导盲犬');
}
}
//2访问
//(1)访问属性
console.log(dog.name);
console.log(dog['age']);
//(2)访问方法
dog.bark();
dog.showFilm();
</script>
2つの新しいオブジェクト
<script>
//1.创建对象
var person = new Object();
person.name = '鸣人';
person.sex = '男';
person.age = 19;
person.showSkill = function() {
console.log('影分身术');
};
//2访问
//(1)访问属性
console.log(person.name);
console.log(person['age']);
//(2)访问方法
person.showSkill();
</script>
3コンストラクター
オブジェクトからいくつかのパブリック属性とメソッドを抽出し、それらを関数にカプセル化します
<script>
//构造函数
function Hero(name, type, blood, attack) {
this.name = name;
this.type = type;
this.blood = blood;
this.attack = attack;
this.introduce = function() {
console.log(this.name + this.type + this.blood + this.attack);
}
}
//创建对象
var hero1 = new Hero('廉颇', '力量型', '500血量', '近战');
var hero2 = new Hero('后羿', '射手型', '100血量', '远程');
//访问属性
console.log(hero1.name);
console.log(hero1['type']);
//访问方法
hero1.introduce();
</script>
注意:
- コンストラクターの規則は、最初の文字を大文字にすることです。
- 現在のオブジェクトのプロパティとメソッドを示すには、関数のプロパティとメソッドの前にこれを追加する必要があります。
- 結果を返すためにコンストラクターに戻る必要はありません。
- オブジェクトを作成するときは、newを使用してコンストラクターを呼び出す必要があります。
新規の役割:
- メモリに新しい空のオブジェクトを作成します。
- この点をこの新しいオブジェクトに向けましょう。
- コンストラクターでコードを実行して、この新しいオブジェクトにプロパティとメソッドを追加します。
- この新しいオブジェクトを返します(したがって、コンストラクターで返す必要はありません)。
オブジェクトのプロパティをトラバースします。
for (var k in obj) {
console.log(k); // 这里的 k 是属性名
console.log(obj[k]); // 这里的 obj[k] 是属性值
}
例えば:
<script>
var star = {
name: '小新',
age: 18,
sex: '男',
sayHi: function() {
alert('大家好啊~');
}
};
for (key in star) {
console.log(key); //属性
console.log(star[key]); //属性值
}
</script>