zoukankan      html  css  js  c++  java
  • 对象

    对有关对象的描述进行剖析:

    是一种数据类型吗?一般称为Object类型,而Object的中文释义就是对象,所以在中文中说对象类型并没有问题。

    故而对象的第一层意思,就是对象数据类型。

    是一个集合吗?

    高程中说:es中的对象时一组数据和功能的集合。

    MDN文档中说:对象是一个包含数据和方法的集合(通常由一些变量和函数组成,我们称之为对象里面的属性和方法),让我们通过一个例子来了解它们。

    集合的概念很简单,有成员才有集体,没有成员就没有集体这个概念。集合的主要特征是多,而不是突出一。

    综合以上会发现,即使是非常专业的教材和文档对于对象的描述也还是存在不和。

    先取其共同之处,也就是“对象是一个集合”。

    第二个共同之处是“集合中包含数据”,这里的数据同样是一个笼统的概念。看一个具体的例子:

    1 var person={
    2     name:'孙悟空',
    3     greet: function(){   
    5     alert('hi');
    6 }
    }

    name算不算数据,当然算。

    ‘孙悟空’算不算数据,算。

    事实上即便是函数,最终也还是以数据存储的,所以如果真的深究,没有尽头,只需要明白其各自所指就足够了。

    两种描述,一个叫功能,一个叫方法,哪一个更好?个人觉得是方法。

    看一个单词,functionality。

    function我们知道叫函数,但functionality指的是函数具有的特性,是“功能”的意思。

    事实上,有一个概念要弄清楚,函数和方法一样吗?我会写一篇文章专门来探讨,敬请期待。

    从形式上看,对象person是包含了一些key:value,还有function,所以没有必要复杂化,按照最直观的方式来解释对象就好了。

    如果想描述对象的组成部分,就数据(键值对)和方法。

    一锤定音,以后我自己在描述对象时,会使用如下定义:

    对象是由数据和方法组成的集合。

  • 相关阅读:
    Redis面试题 总结
    C++ 自由存储区是否等价于堆?(转)
    线程同步方式
    epoll的原理 (一)(转)
    C/C++ 中 volatile 关键字详解(转)
    Linux堆内存管理
    找出数组中出现次数超过一半的数
    剑指offer-复杂链表的复制
    已知二叉树前序中序遍历重建二叉树
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/flyover/p/14080622.html
Copyright © 2011-2022 走看看