什么是对象
万物皆对象,对象是一个具体的事物;
对象是一组无序的相关属性和方法的集合;
对象是由属性和方法组成的:
属性:事物的特征,在对象中用属性来表示(常用名词);
方法:事物的方法,在对象中用方法来表示(常用动词)。
表达数据结构更清晰,对象是复杂数据类型object,本质就是一组无序的相关属性和方法的集合,构造函数泛指一大类,对象实例特指一个事物,可以通过for…in遍历对象
创建对象的方式
1、利用字面量创建对象
对象字面量:就是花括号 {}
var obj = {} //创建了一个空对象
var obj = {
name = ''张三'',
age = 18 ,
sex = ''男'',
sayHi : function () {
console.log('hello~~~')
}
}
①、创建对象,对象里面的属性或者方法采取的是键值对的形式 属性名 :值
②、多个属性或者方法中间使用逗号隔开
③、方法冒号后面跟的是一个匿名函数
(1)、调用对象的属性
使用“.” 对象名.属性名 “ console.log(obj.name)”
或者
使用“[]” ,“ console.log(obj[‘name’])”,注意:使用中括号调用对象的的属性,必须需要加引号
(2)、调用对象的方法 : 对象名.方法名
例:obj.sayHi()
2、利用new object 创建对象
var obj = new object() //创建了一个空对象
obj.name = "小张";
obj.age= "18";
obj.sex= "男";
obj.sayHi = function(){
congsole.log('hi~~')
}
① 利用 等号赋值 的方法 给创建的对象 添加 对象的属性和方法
② 每个属性和方法之间用 分号 结束
③ 调用方法同上
以上创建方式一次只能创建一个
3、利用构造函数创建对象
(1): 构造函数就是把我们对象里面的一些相同的属性和方法抽取出来封装到函数里面
//语法格式
function 构造函数名() {
this.属性 = 值;
this.方法 = function() {}
}
new 构造函数名()
1、构造函数名字首字母要大写
2、构造函数不需要 return 就可以返回结果
3、调用构造函数 必须使用 new
4、只要 new 构造函数名() 就调用了函数创建了一个对象
5、属性和方法前面必须添加 this
// 实例:
function Star(name,age,sex) {
this.name = name
this.age = age
this.sex = sex
}
var zs = new Star('张三',18,'男');
console.log(typeof zs); // object
new 关键字执行过程
1、new 构造函数可以在内存中创建一个空的对象
2、this 就会指向创建的这个空对象
3、执行构造函数里面的代码 给这个空对象添加属性和方法
4、返回这个新对象 (所以构造函数里面不需要return)
构造函数和对象
构造函数是泛指的某一大类
对象特指某一个
利用构造函数创建对象的过程我们也称为对象的实例化
遍历对象
var obj = {
name: '张三',
age:18,
sex:'男'
}
// for in 遍历对象
//for(变量 in 对象){}
for (var k in obj){
console.log(k); // k 变量 输出的是 属性名
console.log(obj[k]) // obj[k] 属性值
}