对象的创建方式
1.利用字面量创建对象 {}
var obj={};//创建了一个空的对象
var obj={
uname:"张三疯",
age:18,
sex:"男",
sayHi: function(){
console.log("hi~");
}
}
(1)里面的属性或者方法我们采取赋值对的形式 键 属性名: 值 属性值
(2)多个属性或者方法中间用逗号隔开
(3)方法冒号后面跟的是一个匿名函数
如何使用对象?
(1)调用对象的属性 我们采取 对象名.属性名 我们理解为 的
console.log(obj.uname);
(2)调用属性还有一种方法 对象名["属性名"]
console.log(obj["age"]);
(3)调用对象的方法 sayHi 对象名.方法名() 千万别忘记加小括号
obj.sayHi();
var keke={
name:"keke",
age:5,
type:"alasj",
color:"red",
jiNeng: function(){
console.log("bark");
console.log("showFilm");
}
}
// 调用
console.log(keke.name);
console.log(keke["age"]);
keke.jiNeng();
2.利用new object 创建对象
var obj = new Object();//创建一个空的对象
obj.uname="张三疯";
obj.age=18;
obj.sex="男";
obj.sayHi=function(){
console.log("hi~");
}
console.log(obj.uname);
console.log(obj["sex"]);
obj.sayHi();
(1)我们是利用 等号=赋值的方法 添加对象的属性和方法
(2)每一个属性和方法之间用 分号结束
3.利用构造函数创建对象
(1)为什么需要构造函数创建对象?
就是因我们前面两种创建对象的方式一次只能创建一个对象
var ldh ={
uname:"刘德华",
age:55,
sing:function(){
console.log("冰雨");
}
}
var zxy={
uname:"张学友",
age:58,
sing:function(){
console.log("李香兰");
}
}
因为我们一次创建一个对象 里面很多属性和方法是大量相同的 我们只能赋复制
因此我们可以利用函数的方法 重复这些相同的代码 我们就把这个函数称为构造函数
又因为这个函数不一样,里面封装的不是普通代码 而是对象
构造函数 就是把我们对象里面一些相同的属性和方法抽象出来封装到函数里面
(2)构造函数创建对象方法
function 构造函数名(){
this.属性=值;
this.方法=function(){}
}
new 构造函数名();
function Star(uname,age,sex){
this.name=uname;
this.age=age;
this.sex=sex;
this.sing=function(sang){
console.log(sang);
}
}
var ldh=new Star("刘德华",18,"男");
console.log(ldh.name);
console.log(ldh.sex);
ldh.sing("冰雨");
var zxy=new Star("张学友",19,"男");
console.log(zxy.name);
console.log(zxy.age);
注意:①.构造函数名字首字母大写
②构造函数不需要return 就可以返回结果
③我们调用构造函数 必须使用new
④我们只要new Stra() 调用函数就创建一个对象 ldh();
⑤我们的属性和方法前面必须添加 this
构造函数和对象的区别:
①构造函数 泛指某一大类
②对象 是一个具体的事物
③我们利用构造函数创建对象的过程我们也称之为对象的实例化