方式1:调用系统的构造函数创建对象
表达式: var 变量名= new Object();
例子:
//实例化对象,创建对象
var obj = new Object();
//对象有特征和行为 (属性和方法)
//添加属性-----如何添加属性? 对象.名字=值;
obj.name = "小明";
obj.age = 38;
obj.sex = "女";
//添加方法----如何添加方法? 对象.名字=函数; (匿名函数)
obj.eat = function () {
console.log("吃饭,这是一个方法");
};
obj.play = function () {
console.log("我喜欢玩飞机模型");
};
console.log(obj.name);//获取--输出了
//方法的调用
obj.eat();
obj.play();
方式2:自定义构造函数创建对象
表达式: var 变量名 = new 自定义构造函数
函数和构造函数的区别: 名字是不是大写(构造函数首字母是大写的)
例子:
//自定义构造函数
function Person(name,age) {
this.name = name;
this.age = age;
this.sayHi=function () {
console.log("我叫:"+this.name+",年龄是:"+this.age);
};
}
//自定义构造函数创建对象:先自定义一个构造函数,然后new创建对象
var obj=new Person("小明",18);
console.log(obj.name);
console.log(obj.age);
obj.sayHi();
var obj2=new Person("小红",20);
console.log(obj2.name);
console.log(obj2.age);
obj2.sayHi();
方式3:字面量的方式创建对象
例子:
//变量,数组 字面量方式创建的创建
/* var num = 10;
var array = [];
*/
var obj = {}; //空对象
//添加属性
obj.name= "小白";
obj.age = 20;
//添加方法
obj.sayHi = function () {
console.log("我是"+this.name+"今年"+this.age+"岁")
}; //末尾记得加 ;
obj.sayHi();
优化后的写法:
/*多个属性方法用逗号隔开,最后的不用加逗号*/
var obj = {
name:"小明",
age:18,
sayHi:function () {
console.log("我是"+this.name+"今年"+this.age+"岁");
},
eat:function () {
console.log("吃了");
}
};
obj.sayHi();
obj.eat();