• 如何理解javascript中类和对象这两个概念?


    首先,对象的定义大致如下:

    对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。

    简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。

    var o = {
        p: "Hello World"
    };

    上面代码中,大括号就定义了一个对象,它被赋值给变量o。这个对象内部包含一个键值对(又称为“成员”),p是“键名”(成员的名称),字符串“Hello World”是“键值”(成员的值)。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。

    我们从两个层次来理解。

    (1)“对象”是单个实物的抽象。

    一本书、一辆汽车、一个人都可以是“对象”,一个数据库、一张网页、一个与远程服务器的连接也可以是“对象”。当实物被抽象成“对象”,实物之间的关系就变成了“对象”之间的关系,从而就可以模拟现实情况,针对“对象”进行编程。

    (2)“对象”是一个容器,封装了“属性”(property)和“方法”(method)。

    所谓“属性”,就是对象的状态;所谓“方法”,就是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,“属性”记录具体是那一种动物,“方法”表示动物的某种行为(奔跑、捕猎、休息等等)。

    其次,典型的面向对象编程语言(比如C++和Java),存在“类”(class)这样一个概念。所谓“类”就是对象的模板,对象就是“类”的实例。JavaScript语言没有“类”,而改用构造函数(constructor)作为对象的模板。

    前面说过,“对象”是单个实物的抽象。所以,通常需要一个模板,表示某一类实物的共同特征,然后“对象”根据这个模板生成。

    所谓“构造函数”,就是专门用来生成“对象”的函数。它提供模板,作为对象的基本结构。一个构造函数,可以生成多个对象,这些对象都有相同的结构。

    最后,还是模糊的话,建议参考这本在线教程:JavaScript 标准参考教程(alpha)

    链接:https://www.zhihu.com/question/23344518/answer/24291199

  • 相关阅读:
    XP和Scrum的比较
    让PowerDesigner支持SQLite 3.0[转]
    对于大型公司项目平台选择j2ee的几层认识(一)
    对于大型公司项目平台选择j2ee的几层认识(三)
    Alpha、Beta、RC、GA版本的区别
    如何在XElement中使用XPath
    对于大型公司项目平台选择j2ee的几层认识(四)
    Thread与BeginInvoke
    对于大型公司项目平台选择j2ee的几层认识(二)
    修复VS 2010的Help Library管理器
  • 原文地址:https://www.cnblogs.com/sanerandm/p/8335590.html
Copyright © 2020-2023  润新知