对象
对象是由属性和方法组成
创建对象的三种方式
- 字面量创建对象
var obj = {};//创建一个空对象
var obj = {
name :'张三',
age :18,
speak :function(){
console.log('你好');
}
}
console.log(obj.name);//调用对象的属性
console.log(obj['name']);//调用属性
obj.speak();//调用对象的方法
//(1)属性和方法用键值对的形式 键 属性名 :值 属性值
//(2)多个属性和方法用逗号隔开
//(3)方法冒号后面跟一个匿名函数
- new Object创建对象
var obj = new Object();//创建一个空对象
obj.name = '张三';
obj.age = 18;
obj.speak = function(){
console.log('你好');
}
console.log(obj.name);
console.log(obj['age']);//调用对象的属性
obj.speak();//调用对象的方法
//利用等号赋值的方法 添加对象的属性和方法
- 构造函数创建对象
使用构造函数的原因是:
使用字面量的new Object一次只能创建一个对象
构造函数定义:
是一种特殊的函数,主要用于初始化对象,为对象的成员变量赋值,它与new运算符一起使用。
function Person(name,age){
this.name = name;
this.age = age;
this.speak = function(speak){
console.log(speak);
}
}
var obj = new Speak('张三',18);//调用函数返回一个对象,这个过程叫对象的实例化
obj.speak('你好');
//构造函数首字母大写
//调用构造函数,必须使用new
补充
new关键字的执行过程
1.new 构造函数可以在内存中创建了一个空对象
2.this 会指向创建的空对象
3.执行构造函数里面的代码,给这个空对象添加属性个方法
4.返回这个对象
遍历对象属性
for…in语句用于数组和对象属性进行循环操作
var obj = {
name :'张三',
age :18,
hobby :'唱歌'
}
for(var k in obj){
console.log(k);//k变量输出得到的属性名
console.log(obj[k]);//得到的是属性值
}
//for(var 变量 in 对象){}格式
变量,属性,函数,方法
变量:单独声明赋值,单独存在
属性:对象里面的变量称为属性,不需要声明,用于描述改对象的特征
函数:单独存在的,通过“函数名()”的方式调用
方法:对象里面的函数成为方法,方法不需要声明,使用“对象方法名()”的方式调用,方法用于描述对象的行为和功能