js 对象基础

46 阅读1分钟

对象基础

什么是对象

对象是一个包含 相关数据和方法的集合 (通常由一些变量和函数组成,我们称之为对象里面的属性和方法)

  • 创建对象几种方式
// 1.通过{}创建对象
var person = {}

// 2.通过new Object()创建对象
var person = new Object()

// 3.使用字面量创建对象
var person = {
  name: ["Bob", "Smith"],
  age: 32,
  gender: "male",
  interests: ["music", "skiing"],
  bio: function () {
    alert(
      this.name[0] +
        " " +
        this.name[1] +
        " is " +
        this.age +
        " years old. He likes " +
        this.interests[0] +
        " and " +
        this.interests[1] +
        "."
    )
  },
  greeting: function () {
    alert("Hi! I'm " + this.name[0] + ".")
  },
}

// 4.等

取值

var person = {
  name: ["Bob", "Smith"],
  names: {
    first: "Bob",
    last: "Smith",
  },
  age: 32,
  gender: "male",
  interests: ["music", "skiing"],
  bio: function () {
    alert(
      this.name[0] +
        " " +
        this.name[1] +
        " is " +
        this.age +
        " years old. He likes " +
        this.interests[0] +
        " and " +
        this.interests[1] +
        "."
    )
  },
  greeting: function () {
    alert("Hi! I'm " + this.name[0] + ".")
  },
}

// 点表示法
person.age
person.interests[1]
person.bio()

// 括号表示法
person["age"]
person["names"]["first"]

赋值

// 1.改变person中的值
person.age = 45
person["name"]["last"] = "Cratchit"
// 输出值
person.age
person["name"]["last"]

// 2.创建新的成员
person["eyes"] = "hazel"
person.farewell = function () {
  alert("Bye everybody!")
}
// 输出值
person["eyes"]
person.farewell()

"this"的含义

var person1 = {
  name : 'Chris',
  greeting: function() {
    alert('Hi! I\'m ' + this.name + '.');
  }
}

var person2 = {
  name : 'Brian',
  greeting: function() {
    alert('Hi! I\'m ' + this.name + '.');
  }
}


这里this即指 person 对象