zoukankan      html  css  js  c++  java
  • JavaScript学习笔记——对象的创建

    对象是JavaScript基本数据类型,在JavaScript中除了Undefined、Null、布尔型(ture、false)、字符串和数字之外,其他的都属于对象。

    在JavaScript中,一个对象就是一个具有属性的特体,比如一个人就是一个对象,每个人都具有身高、体重、年龄等一些属性/特征,在JavaScript中,也可以用属性来给对象定义它的特征。

    那么在JavaScript中对象要怎么创建呢?在JavaScript中如何创建对象主要有以下几种方法:

    • 使用对象字面量创建对象(key-value)
    • 使用new创建对象
    • 使用Object.create()创建对象
    • 使用函数创建对象
    • 使用原型创建对象
    1. 使用对象字面量创建对象

      对象字面量是创建对象最简单的一种形式,目的是在于简化创建包含大量属性的对象的过程。对象字面量由若干属性名(keys)和属性值(values)成对组成的映射表,keyvalue中间使用冒号(:)分隔,每对key/value之间使用逗号(,)分隔,整个映射表用花括号({})括起来。

      使用对象字面量创建对象的语法如下:

    var obj = {
        property_1:   value_1,   // property_# 可能是一个标识符...
                 2:   value_2,   // 或者是一个数字
        // ...
        "property_n": value_n    // 或是一个字符串
    };

    这里obj是创建的对象的名称,每一个property_i是一个标识符/属性名(可以是一个名称、数字或字符串字面量),并且每个value_i是其对应的值,并且将这个值赋予给property_i。来看一个具体实例:

    var boy = {
        'name': 'FEBuddy',
        'age' : 21,
        'height': 178,
        'weight': 60
    }

    这个示例创建了一个名为boy的对象,对象有四个属性nameageheightweight。这四个属性对应有一个属性值。

    使用对象字面量创建对象时,如果留空其花括号({}),则可以定义只包含默认属性和方法的对象。如:

    var obj = {};

    使用这种方式创建对象时,可以通过点(.),也就是obj.key给对象obj创建对象属性,并且赋予对象的属性值。另外也可以通过方括号([]),也就是obj['key']给对象obj创建对象属性,并且赋予对象的属性值。如下面的示例:

    var boy = {};
    
    boy.name: 'FEBuddy';
    boy.age : 21;
    boy.height: 178;
    boy.weight: 60;

    此时在Chrome中打印boy对象时,输出的结果如下所示:

      2. 使用new创建对象

      使用new操作符后跟Object构造函数(有关于构造函数,后面再讲)也可以创建对象:

    var obj = new Object(); // 和var obj = {};相同

      虽然初始状态下,obj是一个空对象,但在JavaScript中可以很方便地动态添加和使用成员,所以我们可以不断加入成员变量和方法。如:

    var boy = new Object();
    boy['name'] = 'FEBuddy';
    boy['age'] = 21;
    boy['height'] = 178;
    boy['weight'] = 60;

      其他三种方法暂时不太理解,等到用到时再深入介绍

  • 相关阅读:
    BZOJ4889: [TJOI2017]不勤劳的图书管理员
    BZOJ3932: [CQOI2015]任务查询系统
    BZOJ1926: [Sdoi2010]粟粟的书架
    POJ 3281 Dining(网络流-拆点)
    POJ 1273 Drainage Ditches(网络流-最大流)
    POJ 1325 Machine schedine (二分图-最小点覆盖数=最大匹配边数)
    HDU 1281 棋盘游戏
    HDU2255 奔小康赚小钱钱(二分图-最大带权匹配)
    HDU 2444 The Accomodation of Students (二分图存在的判定以及最大匹配数)
    POJ 3660 cow contest (Folyed 求传递闭包)
  • 原文地址:https://www.cnblogs.com/zhaoyingli/p/5525821.html
Copyright © 2011-2022 走看看