创建对象
方法一:{} 字面量创建
var 对象名 = {
对象的属性和方法
}
eg:
<script>
var dog1 = {
name: '可可',
type: '阿拉斯加犬',
age: 5,
color: '棕红色',
bark: function() {
console.log('汪汪汪');
},
showFilm: function() {
console.log('演电影');
}
}
</script>
方法二:new object()
var 对象名 = new Object();
对象名.属性1 = 属性值;
对象名.属性2 = 属性值;
对象名.属性2 = 属性值;
对象名.函数名 = function() {
函数内容
}
eg:
<script>
var person1 = new Object();
person1.name = '鸣人';
person1.sex = '男';
person1.age = 19;
person1.skill = function() {
console.log('影分身术');
}
</script>
方法三:构造函数
创建同一类的多个对象,可以使用构造函数。
创建一个构造函数,然后多次调用,就可以创造多个对象。简化代码。
function 构造函数名(参数1, 参数2, 、、、) {
this.属性名1 = 属性值1;
this.属性名2 = 属性值2;
this.blood = blood;
this.attack = function(attackMethod) {
console.log('攻击:' + attackMethod);
}
}
注意:1.构造函数名的首字母需要大写;2.构造函数不需要写return,使用构造函数new对象后,构造函数会自动返回这个新对象
eg:
<script>
function Hero(name, type, blood, attackMethod) {
this.name = name;
this.type = type;
this.blood = blood;
this.attack = function(attackMethod) {
console.log('攻击:' + attackMethod);
}
}
var lianpo = new Hero('廉颇', '力量型', '500血量');
console.log(lianpo.name);
console.log(lianpo.type);
console.log(lianpo.blood);
lianpo.attack('近战');
console.log(lianpo);
var houyi = new Hero('后羿', '射手型', '100血量');
console.log(houyi.name);
console.log(houyi.type);
console.log(houyi.blood);
houyi.attack('远程');
</script>
遍历对象:for-in
for (var k in 对象名) {
console.log(k); // k 变量 输出得到的是 属性名
console.log(对象名[k]); //对象名[k] 得到 属性值
}
注意这里的 k 是变量,直接写- - -对象名[k],不要加引号
for-in中国一般习惯用 k 或者 key 变量名,来接收对象的属性名
eg:
<script>
var student = {
name: '夏目玲子',
age: 18,
sex: '女'
}
for (var k in student) {
console.log(k); // k 变量 输出得到的是 属性名
console.log(student[k]); //对象名[k] 得到 属性值
}
</script>
控制台打印结果: