zoukankan      html  css  js  c++  java
  • 256 对象的理解和使用,什么时候必须 使用['属性名'] 的方式

    • 什么是对象?

      • 多个数据(属性)的集合
      • 用来保存多个数据(属性)的容器
    • 属性组成:

      • 属性名 : 字符串(标识)
      • 属性值 : 任意类型
    • 属性的分类:

      • 一般 : 属性值不是function, 描述对象的状态
      • 方法 : 属性值为function的属性, 描述对象的行为
    • 特别的对象

      • 数组: 属性名是0,1,2,3之类的索引
      • 函数: 可以执行的
    • 如何操作内部属性(方法)

      • .属性名

      • ['属性名']: 属性名有特殊字符/ 属性名是一个变量 【属性名不确定】

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>03_对象</title>
    </head>
    
    <body>
        <!--
    1. 什么是对象?
      * 多个数据的封装体
      * 用来保存多个数据的容器
      * 一个对象代表现实中的一个事物
    2. 为什么要用对象?
      * 统一管理多个数据
    3. 对象的组成
      * 属性: 属性名(字符串)和属性值(任意)组成
      * 方法: 一种特别的属性(属性值是函数)
    4. 如何访问对象内部数据?
      * .属性名: 编码简单, 有时不能用
      * ['属性名']: 编码麻烦, 能通用 【**属性名是一个变量**】
    -->
        <script type="text/javascript">
            var p = {
                name: 'Tom',
                age: 12,
                setName: function(name) {
                    this.name = name
                },
                setAge: function(age) {
                    this.age = age
                }
            }
    
            p.setName('Bob');
            p['setAge'](23);
            console.log(p.name, p['age']);  // Bob  23
        </script>
    </body>
    
    </html>
    

    问题: 什么时候必须 使用['属性名'] 的方式?属性名是一个变量

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>03_相关问题</title>
    </head>
    
    <body>
        <!--
    问题: 什么时候必须使用['属性名']的方式?
      1. 属性名包含特殊字符: - 空格
      2. 属性名不确定 【就要用变量名保存】
    -->
        <script type="text/javascript">
            var p = {};
            //1. 给p对象添加一个属性: content type: text/json
            // p.content-type = 'text/json' //不能用
            p['content-type'] = 'text/json';
            console.log(p['content-type']); // text/json
    
            //2. 属性名不确定 【就要用变量名保存】
            var propName = 'myAge';
            var value = 18;
            // p.propName = value //不能用 【因为属性名propName是字符串,上面的propName是变量名,变量名不是字符串】
            p[propName] = value;
            console.log(p[propName]); // 18
        </script>
    </body>
    
    </html>
    
  • 相关阅读:
    ACL2019对话、问答相关论文整理
    docker for windows添加卷映射
    聊聊多轮任务型对话那些事
    创建用户故事地图(User Story Mapping)的8个步骤
    关于如何做出好的产品
    知识体系整理
    关于如何做好需求的方法
    使用rasa搭建聊天机器人
    【转载】指代消解笔记
    计算机相关会议排名(一)
  • 原文地址:https://www.cnblogs.com/jianjie/p/12235569.html
Copyright © 2011-2022 走看看