프론트엔드 개발자는 이미 DOM과 BOM 객체에 대해 매우 잘 이해하고 있다고 생각합니다. 이 두 객체는 입문 개념일 뿐만 아니라 일상적인 개발에서 가장 많이 노출되는 개념이기도 합니다. Javascript는 꼭 필요한 것 중 하나입니다. 프론트 엔드 개발에 대한 지식은 높은 수준의 유연성을 가지고 있습니다. 많은 학생들은 자신이 접하는 모든 것을 학습한다는 개념을 고수하고 지속적으로 지식을 조금씩 향상시킵니다. 나는 개인적으로 전반적인 파악을 지침으로 사용하는 것을 선호합니다.
요컨대 가장 좋은 방법은 자신에게 맞는 방법입니다. 요점을 살펴보겠습니다:
전역 개체: 호스트 환경에서는 전역 개체가 하나만 있는 경우 프로그램의 어느 곳에서나 해당 자체 및 해당 속성에 언제든지 액세스할 수 있습니다.
루트 노드 개체: 모든 속성과 메서드는 루트 노드 개체 아래에 마운트되어 개발자가 속성과 메서드를 쉽게 검색할 수 있다는 단점이 있습니다.
전역 개체: 여러 노드 개체 아래에 다양한 속성과 메서드가 탑재됩니다. 장점은 호출이 편리하고 빠르다는 것입니다. 단점도 Java 언어에서 비판을 받는 장애이며, 어디서 찾을 수 있는지 알 수 없습니다.
DOM 및 BOM 개체 현재 스타 NodeJS에는 고유한 전역 개체가 있으며 다른 모든 속성과 메서드는 이 노드 개체 또는 해당 하위 노드 개체에 종속됩니다. DOM의 html
, BOM의 window
, NodeJS의 global
html
、BOM的window
、NodeJS的global
;
Javascript为了开发者使用的方便,将诸多方法、属性都设置为全局对象/属性,所以Javascript就没有所谓的唯一的根节点对象;
Javascript的全局对象根据是否依赖宿主环境分为两类:
- 核心对象:即ECMAScript Global Object,这些对象在程序执行前已经存在了(默认实例化);
- 宿主环境下的对象:宿主环境提供的全局对象/函数,常见的是浏览器设定并且限制开发者重写的,如:setTimeout、location等,
序号 | 类别 | 栗子 |
---|---|---|
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... |
不管是Javascript的核心全局对象,还是宿主环境扩充的全局对象;开发者都可以随时调用;其不同之处在于:
1. ECMAScript中定义的核心全局对象是可重写,但不可枚举,即:Writeable=true,Enumerable=false
개발자의 편의를 위해 Javascript는 많은 메소드와 속성을 전역 개체/속성으로 설정합니다. Javascript 루트 노드 개체에는 소위 고유한 개체가 없습니다.
Javascript의 전역 개체는 호스트 환경에 따라 달라지는지 여부에 따라 두 가지 범주로 나뉩니다.
위 내용은 Javascript의 객체 개요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!