欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Javascript中有关对象的概述

程序员文章站 2022-03-30 09:38:21
...
相信前端开发人员对DOM、BOM对象都已经十分了解了,这些两个对象不仅是入门概念,也是日常开发中接触最多的概念;同时作为前端开发的必备知识之一的Javascript,由于其具有高度的灵活性,很多同学都是秉承遇到什么学什么的理念,一点点不断来完善自己的知识,这也是个人提高技术的必经途径之一;不过个人还是比较倾向于整体把握为指导,日常积累为手段的方式进行提高。

总之适合自己的方法,才是最好的方法。下面切入正题:

1. 全局对象

全局对象:在宿主环境中,其自身及其所有属性都可以在程序的任何地方、任何时间访问到的对象;如果全局对象有切仅有一个,全局对象同时也是根节点对象;

  • 根节点对象:所有属性、方法都挂载在根节点对象下,便于开发者进行属性、方法的查找;其缺点是调用繁琐;

  • 全局对象 :不同属性、方法都挂载在多个节点对象下,优点是调用方便快捷;缺点也是被Java语言所诟病的无序,使用时不知从何查找;

2.Javascript的全局对象

DOM、BOM对象现在的明星NodeJS都有一个唯一的全局对象,所有其他属性、方法都从属于该节点对象、或其子节点对象;如DOM的html、BOM的window、NodeJS的global
Javascript为了开发者使用的方便,将诸多方法、属性都设置为全局对象/属性,所以Javascript就没有所谓的唯一的根节点对象;
Javascript的全局对象根据是否依赖宿主环境分为两类:
- 核心对象:即ECMAScript Global Object,这些对象在程序执行前已经存在了(默认实例化);
- 宿主环境下的对象:宿主环境提供的全局对象/函数,常见的是浏览器设定并且限制开发者重写的,如:setTimeout、location等,

2.1. Javascript的核心全局对象:

序号 类别 栗子
1 值属性 NaN、Infinity、Undefined...
2 函数属性 eval()、parseInt()、isNaN()、decodeURI()....
3 构造器(类)属性 Object、Array、Function、String、Boolean、Number、Date、RegExp、Error、RangeError、SyntaxError...
4 其他(类似JAVA中静态类) Math、JSON...

2.2. 全局对象的读写性:

不管是Javascript的核心全局对象,还是宿主环境扩充的全局对象;开发者都可以随时调用;其不同之处在于:
1. ECMAScript中定义的核心全局对象是可重写,但不可枚举,即:Writeable=true,Enumerable=false
2. 宿主环境(主要是浏览器)设定的全局对象,一般是不允许重写的

以上就是Javascript中有关对象的概述的详细内容,更多请关注其它相关文章!