JavaScript 对象

  • JavaScript对象

    在现实生活中,汽车是一个对象。汽车具有重量和颜色等属性,以及启动和停止等方法。所有汽车都具有相同的属性,但属性值因汽车而异。所有汽车都采用相同的方法,但这些方法在不同时间执行 。同样JavaScript也根据底层平台(操作系统,应用程序),提供不同的API(应用程序接口)的对象,以及这些对象的属性方法
  • JavaScript对象简释

    您已经了解到JavaScript变量是数据值的容器。此代码为名为car的变量分配一个简单的值(Fiat):
    var car = "Fiat";
    对象也是变量。但是对象可以包含许多值。此代码将许多值(Fiat,500,white)分配给名为car的变量:
    var car = {type:"Fiat", model:"500", color:"white"};
    尝试一下
    值写为name:value对(名称和值以冒号分隔)。
    JavaScript对象是名为属性或方法的命名值的容器。
  • 对象定义

    使用文字定义(并创建)JavaScript对象:
    var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
    尝试一下
    空格和换行并不重要。对象定义可以跨越多行:
    var person = {
      firstName: "John",
      lastName: "Doe",
      age: 50,
      eyeColor: "blue"
    };
    尝试一下
  • 对象属性

    名:值,在JavaScript对象对被称为属性
    您可以通过两种方式访问​​对象属性:
    objectName.propertyName
    或者:
    objectName["propertyName"]
    例如:
    person.lastName;
    person.['weight'];
    
    尝试一下
  • 对象方法

    对象也可以有方法。方法作为动作可以在对象上执行。方法作为函数定义存储在属性中。
    方法是以函数的形式存储在对象上的属性。
    var person = {
      firstName: "John",
      lastName : "Doe",
      id       : 5566,
      fullName : function() {
        return this.firstName + " " + this.lastName;
      }
    };
    例如上面的fullName就是person对象的一个方法
    在函数定义中,this指的是函数的“所有者”。在上面的示例中,this是“拥有”fullName函数的person对象。换句话说,this.firstName表示此对象的firstName属性。在后面的章节还会详细介绍this关键字。
    您使用以下语法访问对象方法:
    objectName.methodName()
    例如:
    name = person.fullName();
    尝试一下
    如果访问没有()括号引用方法,它将返回函数定义:
    name = person.fullName;
    尝试一下
  • 不要将字符串,数字和布尔值声明为对象!

    当使用关键字“ new” 声明JavaScript变量时,该变量将创建为对象:
    var x = new String();        // 声明 x 为一个 String 对象
    var y = new Number();        // 声明 y 为一个 Number 对象
    var z = new Boolean();       // 声明 z 为一个 Boolean 对象
    避免String,Number和Boolean对象。它们使代码复杂化并降低了执行速度。后面教程还会有更多关于对象的知识