Home  >  Article  >  Web Front-end  >  What is the difference between javascript host objects and built-in objects

What is the difference between javascript host objects and built-in objects

WBOY
WBOYOriginal
2022-03-10 16:51:422039browse

Difference: 1. Built-in objects are a subset of native objects and belong to native objects, while host objects are not native objects of the engine; 2. Built-in objects are all objects provided by ECMAScript implementation that are independent of the host environment. The host object is an object that is not officially defined by ECMAScript.

What is the difference between javascript host objects and built-in objects

The operating environment of this tutorial: Windows 10 system, JavaScript version 1.8.5, Dell G3 computer.

What is the difference between JavaScript host objects and built-in objects?

Native objects include built-in objects (objects created when the JavaScript engine is initialized) and objects dynamically created during JavaScript running. The host object is the object that the JavaScript host environment (runtime environment) injects into the JavaScript engine through some mechanism during the running process of the JavaScript engine.

Specific difference:

Build-in object : Objects that are always created during the engine initialization phase are a subset of native objects. Built-in objects are provided by EcmaScript and are independent of host objects, including Global and Math (numeric objects) and built-in objects.

Native (Naitve) objects: In addition to built-in objects, it also includes some Dynamically created objects. Native objects are independent of the host environment, including Object, Array, Function, Number, String, Date

Host objects: Host objects are not native objects of the engine, but are registered to JavaScript by the host framework through some mechanism. Objects in the engine. The running environment of Javascipt is the operating system and browser, including two types of host objects, BOM and DOM

1. Native objects

ECMA-262 defines native objects as " An object provided by an ECMAScript implementation that is independent of the host environment."

Contains: Object, Function, Array, String, Boolean, Number, Date, RegExp, Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, ActiveXObject (server), Enumerator (collection traversal class) , RegExp (regular expression)

2. Built-in objects

ECMA-262 defines built-in objects as “provided by the ECMAScript implementation. All objects that are independent of the host environment and appear when an ECMAScript program starts execution." This means that the developer does not have to explicitly instantiate the built-in object, it is already instantiated.

It is also "independent of the host environment". ECMA-262 only defines two built-in objects, namely Global and Math (they are also native objects, and by definition, every built-in object is a native object)

3. Host object

What is a "host object"? The "host" in ECMAScript is of course the running environment of our web page, that is, the "operating system" and "browser".

BOM and DOM are both host objects. Because it displays different contents for different "host" environments. In fact, to put it bluntly, the officially undefined objects of ECMAScript belong to the host object, because most of the undefined objects are objects created by the ECMAScript program.

Related recommendations: javascript learning tutorial

The above is the detailed content of What is the difference between javascript host objects and built-in objects. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn