- 对象
- 创建对象(object)的三种方式:①对象字面量②new Object()③构造函数,new 构造函数()
- new关键字
- 遍历对象属性
一、创建对象
1. 利用对象字面量创建对象
//1.利用字面量创建对象
var obj ={
uname: '小明',
age:18,
sex:'男',
sayHi:function(){
console.log('hi')
}
}
//调用对象的属性
console.log(obj.sayHi)
console.log(obj['age'])
//调用对象的方法
obj.sayHi()
①里面的属性值采用键值对的形式,键 属性名:值 属性值
方法冒号后面跟的是一个匿名函数
②使用对象:对象名.属性名
对象名['属性名']
对象名.方法名()
2. 变量、属性、函数、方法
①变量:单独声明并赋值,使用的时候直接写变量名 单独存在
②属性:在对象里面,不需要声明,使用的时候必须 对象.属性
③函数:是单独声明,并且调用函数名(),单独存在
④方法:在对象里面,调用的时候 对象.方法()
⑤构造函数:泛指某一大类,它类似于java里的类(class)
⑥对象:特指一个具体的事物 刘德华 =={name:'刘德华',age:18…………}
3. 利用new Object创建对象
//利用new object创建对象
var obj = new Object()
obj.age = 18
obj.name = '男'
obj.sayHello = function(){
console.log('hello');
}
console.log(obj.age);
obj.sayHello()
4. 利用构造函数创建对象
之前的两种创建对象的方式一次只能创建一个对象
构造函数就是把对象里面相同的属性和方法抽象出来封装在函数里面
语法格式:
function star(uname,age,sex){
this.name = uname
this.age = age
this.sex = sex
this.sing = function(song){
console.log(song);
}
}
var ldh = new star('刘德华',18,'男')
console.log(ldh.name)
console.log(ldh['sex'])
ldh.sing('冰雨')
console.log(typeof(ldh))
注意:
1. 构造函数名字首字母要大写(习惯)
2. 构造函数不需要return就可以返回结果
3. 调用构造函数必须使用new
4. 我们只要new Star() 调用函数就创建一个对象ldh{}
5. 利用构造函数创建对象也叫对象的实例化
二、关键字new
1. new关键字执行过程
①new构造函数在内存中创建了一个空的对象
②this就会指向刚才创建的空对象
③执行构造函数里的代码,给这个空对象添加属性和方法
④返回这个对象,也是不用写return的原因
三、遍历对象属性
for(var k in ldh){
console.log(k); //k,输出的是属性名
console.log(ldh[k]); //k是个变量,不加引号
}
输出: