• 松软科技前端课堂:JavaScript 对象


    真实生活中的对象、属性和方法

    在真实生活中,汽车是一个对象。

    汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法:

    对象属性方法
     

    car.name = porsche

    car.model = 911

    car.length = 4499mm

    car.color = white

    car.start()

    car.drive()

    car.brake()

    car.stop()

    所有汽车都拥有同样的属性,但属性值因车而异。

    所有汽车都拥有相同的方法,但是方法会在不同时间被执行。

    JavaScript 对象

    您之前已经学到,JavaScript 变量是数据值的容器。

    这段代码把一个单一值(porsche)赋给名为 car 的变量:

    var car = "porsche";

    对象也是变量。但是对象包含很多值。

    这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:

    var car = {type:"porsche", model:"911", color:"white"};

    值以名称:值对的方式来书写(名称和值由冒号分隔)。

    JavaScript 对象是被命名值的容器。

    对象属性

    (JavaScript 对象中的)名称:值对被称为属性。

    var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
    属性属性值
    firstName Bill
    lastName Gates
    age 62
    eyeColor blue

    对象方法

    对象也可以有方法

    方法是在对象上执行的动作

    方法以函数定义被存储在属性中。

    属性属性值
    firstName Bill
    lastName Gates
    age 62
    eyeColor blue
    fullName function() {return this.firstName + " " + this.lastName;}

    方法是作为属性来存储的函数。

    var person = {
      firstName: "Bill",
      lastName : "Gates",
      id       : 678,
      fullName : function() {
        return this.firstName + " " + this.lastName;
      }
    };

    属性属性值firstNameBilllastNameGatesage62eyeColorblue

    this 关键词

    在函数定义中,this 引用该函数的“拥有者”。

    在上面的例子中,this 指的是“拥有” fullName 函数的 person 对象。

    换言之,this.firstName 的意思是 this 对象的 firstName 属性。

    对象定义

    我们定义(创建)了一个 JavaScript 对象:

    实例

    var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

    空格和折行都是允许的。对象定义可横跨多行:

    实例

    var person = {
        firstName:"Bill",
        lastName:"Gates",
        age:50,
        eyeColor:"blue"
    };

    访问对象属性

    您能够以两种方式访问属性:

    objectName.propertyName;
    objectName["propertyName"];

    访问对象方法

    您能够通过如下语法访问对象方法:

    objectName.methodName()
    objectName.methodName()
    var x = new String();        // 把 x 声明为 String 对象
    var y = new Number();        // 把 y 声明为 Number 对象
    var z = new Boolean();       //    把 z 声明为 Boolean 对象
  • 相关阅读:
    [BZOJ3043]IncDec Sequence
    【NOIP2015】字串
    [NOIP]2016天天爱跑步
    【NOIP2015】运输计划
    [poj3565]Ants
    【ZOJ2760】How Many Shortest Path
    [POJ3281] Dining
    P1077摆花
    校内测之zay与银临 (day2)
    P1880石子合并
  • 原文地址:https://www.cnblogs.com/sysoft/p/11639496.html
Copyright © 2020-2023  润新知