对象
对象是一个具体事务,任何东西都是对象
- 什么是对象
对象是由属性和方法组成的
属性:事物的特征,在对象中用属性来表示
方法:事物的行为,在对象中用方法来表示
2.为什么要使用对象
var arr = ['张三疯', '男', 128,154];
JS 中的对象表达结构更清晰,更强大
张三疯.姓名 = '张三疯';
张三疯.性别 = '男';
张三疯.年龄 = 128;
张三疯.身高 = 154;
person.name = '张三疯';
person.sex = ' 男';
person.age = 128;
person.height = 154;
创建对象的三种方法
- 利用字面量
就是花括号里包含了对这个事务的属性和方法
var star = {
name : 'bob',
age : 18,
sex : '男',
sayHi : function(){
alert('大家好啊~');
}
}
- 利用new Objeck
使用 对象.属性=值
var andy = new Object();
andy.name = bob;
andy.sayHi = function(){
alert('大家好啊~');
}
- 利用构造函数
构造函数主要用来初始化对象,为变量赋初始值。需要于new运算符一起使用
函数内的属性和方法前面需要添加this
构造函数不需要return返回结果
function yingxiong(name, type, blood, attack) {
this.name = name
this.type = type
this.blood = blood
this.attcak = attack
}
console.log(new yingxiong('廉颇', '力量型', '500血量', '近战'))
console.log(new yingxiong('后裔', '射手型', '100血量', '远程'))
new关键字
new在执行的时候会做的事
先创建一个新的空对象,让this指向这个对象,执行函数里的代码给这个对象添加属性和方法,返回这个对象(会自动返回所以不需要return)
for...in语句
for (变量 in 对象名字) {
// 在此执行代码
}
for (var k in obj) {
console.log(k); // 这里的 k 是属性名
console.log(obj[k]); // 这里的 obj[k] 是属性值
}