Home > Article > Web Front-end > What is the difference between javascript host objects and built-in objects
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.
The operating environment of this tutorial: Windows 10 system, JavaScript version 1.8.5, Dell G3 computer.
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!