美文网首页让前端飞我的日更计划前端开发笔记
【JS基础】JavaScript三大对象两类属性

【JS基础】JavaScript三大对象两类属性

作者: 虹猫1992 | 来源:发表于2018-12-31 19:23 被阅读3次

    ECMAScript 中,所有对象并非同等创建的。
    一般来说,可以创建并使用的对象有三种:本地对象、内置对象和宿主对象,对象还包含两类属性:自有属性、继承属性

    JavaScript对象

    一、JavaScript三大对象

    1.本地对象

    • 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象
    • 简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。
    • 这些引用类型在运行过程中需要通过 new 来创建所需的实例对象。

    本地对象包括:

    • 常见引用类型ObjectFunctionArrayDateRegExp
    • 基本包装类型StringBooleanNumber
    • 其他类型ErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError

    有关引用类型更详细的用法可参考《【JS基础进阶】(七)JavaScript引用类型》

    有关基本包装类型更详细的用法可参考《【JS基础】JavaScript引用类型之基本包装类型》

    2.内置对象

    • 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象,在ECMAScript 程序开始执行时出现
    • ECMAScript 程序开始执行前就存在,本身就是实例化内置对象,开发者无需再去实例化
    • 内置对象是本地对象的子集。
    • 包含:GlobalMath
    • ECMAScript5中增添了JSON这个存在于全局的内置对象。

    有关内置对象属性与方法的用法可参考《【JS基础】JavaScript内置对象》

    3.宿主对象

    • ECMAScript 实现的宿主环境提供的对象,包含两大类,一个是宿主提供,一个是自定义类对象
    • 所有非本地对象都属于宿主对象。
    • 对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,浏览器对象有很多,如WindowDocument等。
    • 所有的DOMBOM对象都属于宿主对象。

    (1)宿主提供的对象

    JavaScript运行环境(即浏览器)提供的对象,由浏览器厂家自定义提供实现,早期存在较大的兼容性问题,当前其中一些主要的对象已经被大部分浏览器兼容;具体分为如下两大类:

    • BOM对象WindowNavigatorScreenHistoryLocation
    • DOM对象DocumentAnchorAreaBaseBodyButtonCanvasEventFrameFramesetIFrameImageLinkMetaStyleFormInput ButtonInput CheckBoxInput FileInput HiddenInput PasswordInput RadioInput ResetInput SubmitInputTextOptionSelectTextareTableTableCellTableRow

    (2)自定义对象

    指由运行中的`JavaScript``代码创建的对象,兼容性问题需要由编写者注意。
    创建自定义对象:

    a、对象直接量;由名/值对组成的映射表,名和值之间用冒号分隔,名/值对之间用逗号分隔

    var obj1 = {};
    var obj2 = {x:0,y:0};
    var obj3 = {name:"Mary", age:18};
    

    b、使用 new 操作符后跟构造函数;创建系统对象,创建通用对象,创建自定义对象(自定义构造函数)

    var obj1 = new Array;
    var obj2 = new Date();
    

    c、function 对象模板

    二、JavaScript对象的两类属性

    对象中的属性,根据是否自身的可分为自有属性继承属性

    1.自有属性:也可叫实例属性;指对象自身的属性,也就是直接在对象中定义的属性。

    2.继承属性:也可叫原型属性;指对象从原型中继承的属性,也就是在对象的原型对象中定义的属性。

    三、有关JavaScript对象的系列文章

    1. 【ES6】操作数组的常用方法有这些就够了
    2. 【JS基础】JavaScript引用类型之Date对象的常用方法
    3. 【JS基础】JavaScript引用类型之RegExp 类型
    4. 【JS基础】JavaScript引用类型之Function类型
    5. 【JS基础】JavaScript引用类型之基本包装类型
    6. 【JS基础】JavaScript内置对象
    7. 【JS基础】JavaScript引用类型

    相关文章

      网友评论

        本文标题:【JS基础】JavaScript三大对象两类属性

        本文链接:https://www.haomeiwen.com/subject/fksvlqtx.html