156 对象的理解和使用,什么时候必须 使用['属性名'] 的方式

  • 什么是对象?

    • 多个数据(属性)的集合
    • 用来保存多个数据(属性)的容器
  • 属性组成:
    • 属性名 : 字符串(标识)
    • 属性值 : 任意类型
  • 属性的分类:
    • 一般 : 属性值不是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 //不能用
        p[propName] = value;
        console.log(p[propName]); // 18
    </script>
</body>

</html>

156 对象的理解和使用,什么时候必须 使用['属性名'] 的方式

原文地址:https://www.cnblogs.com/jianjie/p/12235569.html

时间: 2024-07-31 19:17:17

156 对象的理解和使用,什么时候必须 使用['属性名'] 的方式的相关文章

Jsp(3):内置对象和四种域对象的理解

由来:在jsp开发中,会频繁使用到一些对象 .例如HttpSession,ServletContext,ServletContext,HttpServletRequet.所以Sun公司设计Jsp时,在jsp页面加载完毕之后就会自动帮开发者创建好这些对象,开发者只需要直接使用这些对象调用方法即可!这些创建好的对象就叫内置对象,一共有九个. 内置对象名 类型 request HttpServletRequest  response  HttpServletResponse config Servle

第八章 面向对象之一:对象的理解

js的面向对象概念跟C++.Java不太一样,更像是一个精简版的设计(可能是因为语言设计者本身讨厌面向对象随便为了应付弄出来一个?还是为了减轻浏览器的负担才这么设计,我觉的是第二者哦,毕竟解释型程序没有编译型程序效率高). ECMAScript对对象的定义:”无需属性的集合,其属性可以包含基本值.对象或者函数“.等等,这句话眼熟啊,想起来了吧,Object类型就是这么定义的啊.所以,Object类型就是js里所有对象(类)的父类. 而所有通过new Array.new String的变量都是Ar

谈谈对Javascript构造函数和原型对象的理解

对象,是javascript中非常重要的一个梗,是否能透彻的理解它直接关系到你对整个javascript体系的基础理解,说白了,javascript就是一群对象在搅..(哔!). 常用的几种对象创建模式 使用new关键字创建最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function

C++中引用和匿名对象的理解和本质剖析

引用是什么? 引用其实就是给变量起的一个别名,使用这个别名跟使用变量名没有区别. 那什么又是变量名呢? 变量名实质上是一段连续存储空间的别名,是一个标号(门牌号),编译器通过变量来申请并命名内存空间,程序员可以通过变量的名字可以使用存储空间. 也可以这样理解,变量名是逻辑概念,变量是物理层面,变量含数据类型和数据值,数据类型决定内存的分配,编译器将变量名和变量对应的内存联系起来,使程序员可以通过变量名来操作内存. 引用怎么用?    语法:Type& name = var; 规则:1.普通引用在

JS function的定义方法,及function对象的理解。

废话篇: 今天看到了javascript的原型链,各种指向,各种对象有木有,各种晕,各种混淆有木有.兼职是挑战个人脑经急转弯的极限啊.不过,最终这一难题还是被我攻克了,哇咔咔.现在就把这东西记下来,免得到时候又忘了就悲催了.... 正文篇: function的定义方法,及function对象的理解. 在我大js中秉承着一切都是对象的原则,不论是方法还是其他都不例外. 我们在使用java的时候经常要编写方法,这时候其用的关键字是function,而在js中我们在编写函数的时候也是用这个关键字,所以

原型对象的理解

博文原地址:http://www.cnblogs.com/gnface/archive/2012/08/22/2651534.html 1.关于原型对象的重要知识点 首先要知道一个很重要的知识点,一句话:所有对象都有原型对象. 2. 对比其他语言的理解 原型对象,就是其它语言中的类中的静态属性和静态方法,总是是静态-static就对了.原理是: 内存中只有一份. 3. 在内存中的形象图: 首先,在产生js对象之前,我们需要创造一个构造函数(这都不知道,那就不要往下看了),如下: function

html--dom对象的理解

这四个对象是从HTML结构中逐层深入的,分别代表了HTML结构中所有的内容: 1.Document对象 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问. 提示:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问. Document对象集合有forms[],images[],links[],anchors[],all[],applets.

关于构造函数和原型prototype对象的理解

构造函数     1.什么是构造函数 构造函数,主要用于对象创建的初始化,和new运算符一起用于创建对象,一个类可以有多个构造函数,因为函数名相同,所以只能通过参数的个数和类型不同进行区分,即构造函数的重构, 如果没有定义构造函数,那么该类会自动生成一个空参数的构造函数. 在javascript中,对象创建有二种方式:对象字面量和使用new表达式. 对象字面量,每创建一个对象都要重新定义一次语句,不便于创建大量相同类型的对象 new表达式,配合构造函数使用,例如var person1 = new

java反射-反射实例化对象-反射获得构造方法-反射获得普通方法-获得属性

链接:https://www.zhihu.com/question/24304289/answer/38218810来源:知乎著作权归作者所有,转载请联系作者获得授权. Class<?> cls = Class.forName("cn.mldn.demo.Person"); // 取得Class对象 第一步:获得对象,构造方法,普通方法,属性 Object obj = cls.newInstance() Constructor<?> cons = cls.get