对象object
在JS中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数组、数值、函数等。
属性:事物的特征
方法:事物的行为
创建对象的三种方式
利用字面量
创建空对象
var obj = {}
创建带内容对象
var obj = {
uname: '张三丰',
age: 18,
sex: '男',
sayHi: function(){
console.log('hi~');
}
}
-
里面的属性或者方法采取键值对的形式
-
多个属性或者方法中间用逗号隔开
- 方法冒号后面跟的是一个匿名函数
使用对象
- 调用对象的属性:
- 对象名.属性名,如console.log(obj.uname);
- 对象名['属性名'],如console.log(obj ['uname']);
- 调用对象的方法 sayHi
- 对象名.方法名(),如obj.sayHi();
利用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 ['uname']);
- 调用对象的方法 sayHi
- 对象名.方法名(),如obj.sayHi();
利用构造函数
- 前面两种方法只能创建一个对象。
- 因为这个函数不一样,里面封装的不是普通代码,而是对象
- 构造函数:就是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,她总与new运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里。
构造函数的语法格式
function 构造函数名(){
this.属性 = 值;
this.方法 = function(){}
}
new 构造函数名(); 调用函数
例如:
function Star(uname,age,sex){
this.name = uname;
this.age = age;
this.sex = sex;
}
var ldh = new Star(‘刘德华’,18,‘男’);
console.log(ldh.name);
console.log(ldh['name']);
- 构造函数的名字首字母要大写
- 构造函数不需要return,就可以返回值
- 利用构造函数创建对象的过程也称为对象的实例化
new关键字执行过程
- new构造函数可以在内存中创建一个空的对象
- this 就会指向刚才创建的空对象
- 执行构造函数里面的代码,给这个空对象添加属性和方法
- 返回这个对象(所以不需要return)
遍历对象属性
for...in 语句用于数组或者对象的属性进行循环操作
for (var变量 In 对象){
}
例如:
for(var k in obj){
console.log(K); k变量输出得到的是属性名
console.log(obj[k]); obj[k]得到的是属性值
}
- 注意遍历属性值时不加引号‘’
- 在这个遍历程序中,我们常用k