JavaScript 自定义对象

创建对象

利用对象字面量创建对象

var obj = {
    name: '张三',
    age: 18,
    sex: '男',
    sayHi: function() {
        console.log('hi~')
    }
}

利用new Object 创建对象

var obj = new Object()
obj.name = '张三'
obj.age = 18
obj.sex = '男'
obj.sayHi = function() {
    console.log('hi~')
}

利用构造函数创建对象

function 构造函数名() {
    this.属性 = 值
    this.方法 = function() {}
}

var obj = new 构造函数名(属性)

function People(name, age, sex) {
    this.name = name
    this.age = age
    this.sex = sex
}

var zhangsan = new People('张三', 18, '男')

new 的执行过程

  1. 在内存中创建一个新的空对象
  2. 让 this 指向这个新的对象
  3. 执行构造函数里面的代码,给这个新对象添加属性和方法
  4. 返回这个新对象(所以构造函数里面不需要return)

使用对象

// 1.对象名.属性名
console.log(obj.name)
// 2.对象名['属性名']
console.log(obj['name'])
// 3.对象名.方法名()
obj.sayHi()

遍历对象

for (变量 in 对象) {}

for (var k in obj) {
    console.log(k) // k输出属性名
    console.log(obj[k]) // obj[k]输出属性值
}