1、利用字面量创建
var obj = {key:value,key2:value2...}; //利用{}创建了一个空的对象
例:
var star = {
name : 'mengqiqi',
age : 18,
sex : '男',
sayHi : function(){
alert('大家好啊~');
}
};
调用属性:
1、对象名.属性名 console.log(star.name)
2、对象名[‘属性名’] console.log(star[‘name’])
调用方法:
1、对象名.方法名() star.sayHi();
2、对象名【‘方法名’】() star【‘sayHi’】();
注意:
- 属性或者方法采取键值对的形式 键:属性名 值:属性值
- 多个属性或方法之间用逗号分隔
- 方法冒号后面一个匿名函数
2、利用new Object 创建
var obj = new Object(); //创建了一个空对象
例:
var obj = new Object();
obj.name = '鸣人';
obj.age = 18+'岁';
obj.sex = '男';
obj.Skill = function(){
alert('影分身术');
}
调用方法同上:
注意:
- new Object() :需要 new 关键字,Object第一个字母大写
- 每个属性和方法之间用分号分隔
- 里面的属性或者方法采用 对象.属性名 = 值;
3、利用构造函数创建
function 构造函数名() {
this.属性名1 = 形参1; //形参就是要给属性赋值
this.属性名2 = 形参2;
this.属性名3 = 形参3;
this.方法名 = 匿名函数; //匿名函数不需要传递
}
调用:new 构造函数名();
注意:
- 构造函数名首字母大写
- 通过new调用函数
- 函数内的属性和方法前面需要添加 this
- 函数中不需要 return 返回结果。
例:
var lp = new Hero('廉颇', '力量型', '500血量');
console.log(lp.name);
console.log(lp.blood);
lp.Attack('近战');
var hy = new Hero('后裔','射手型','100血量');
console.log(hy);