下面将从对象是什么、对象的分类、如何创建对象3方面来介绍对象。
一、对象是什么?
对象是一系列无序属性的集合,这些属性包括原始数据、对象或者函数。
二、对象的分类?
对象分为2大类:一类是内建对象;一类是自定义对象。
内建对象包括9类:Number、String、Boolean、Object、Array、Function、Date、RegExp、Error
三、如何创建对象?
创建对象一般有以下几种方式:
1)Object方式
先创建一个Object实例,然后给它添加属性。
代码演示:
var person = new Object();
person.name = "ducaifeng";
person.sayName = function(){
return "我的名字是:"+this.name;
}
console.log(person.sayName());
2)字面量方式
语法: var obj = {}
说明: 把属性信息,写到{}里面,赋值给一个变量,这个变量就是一个对象
代码演示:
var person = {
name:"ducaifeng",
sayName:function(){
return "我的名字是:"+this.name;
}
}
console.log(person.sayName());
3)工厂模式
抽象了创建具体对象的过程,用函数来封装以特定接口创建对象的细节。
代码演示:
function createPerson(name){
var obj = new Object();
obj.name = name;
obj.sayName = function(){
return "我的名字是:"+this.name;
}
return obj;
}
var person1 = createPerson("ducaifeng");
var person2 = createPerson("liliang");
console.log(person1.sayName());//我的名字是:ducaifeng
console.log(person2.sayName());//我的名字是:liliang
4)构造函数方式
当new去调用一个函数,这个时候函数中的this就是创建出来的对象,而且函数的返回值就是this(隐式返回)
代码演示:
function Person(name){
this.name = name;
this.sayName = function(){
return "我的名字是:"+this.name;
}
}
var person1 = new Person("ducaifeng");
var person2 = new Person("liliang");
console.log(person1.sayName());//我的名字是:ducaifeng
console.log(person2.sayName());//我的名字是:liliang
5)原型方式
function Person(){
}
Person.prototype.name = "ducaifeng";
Person.prototype.sayName = function(){
return "我的名字是:"+this.name;
}
var person1 = new Person();
var person2 = new Person();
console.log(person1.sayName());//我的名字是:ducaifeng
console.log(person2.sayName());//我的名字是:ducaifeng
(我有免费的JavaScript学习视频,想要的鞋童们可以加我微信)