


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.
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!

No,youshouldn'tusemultipleIDsinthesameDOM.1)IDsmustbeuniqueperHTMLspecification,andusingduplicatescancauseinconsistentbrowserbehavior.2)Useclassesforstylingmultipleelements,attributeselectorsfortargetingbyattributes,anddescendantselectorsforstructure

HTML5aimstoenhancewebcapabilities,makingitmoredynamic,interactive,andaccessible.1)Itsupportsmultimediaelementslikeand,eliminatingtheneedforplugins.2)Semanticelementsimproveaccessibilityandcodereadability.3)Featureslikeenablepowerful,responsivewebappl

HTML5aimstoenhancewebdevelopmentanduserexperiencethroughsemanticstructure,multimediaintegration,andperformanceimprovements.1)Semanticelementslike,,,andimprovereadabilityandaccessibility.2)andtagsallowseamlessmultimediaembeddingwithoutplugins.3)Featur

HTML5isnotinherentlyinsecure,butitsfeaturescanleadtosecurityrisksifmisusedorimproperlyimplemented.1)Usethesandboxattributeiniframestocontrolembeddedcontentandpreventvulnerabilitieslikeclickjacking.2)AvoidstoringsensitivedatainWebStorageduetoitsaccess

HTML5aimedtoenhancewebdevelopmentbyintroducingsemanticelements,nativemultimediasupport,improvedformelements,andofflinecapabilities,contrastingwiththelimitationsofHTML4andXHTML.1)Itintroducedsemantictagslike,,,improvingstructureandSEO.2)Nativeaudioand

Using ID selectors is not inherently bad in CSS, but should be used with caution. 1) ID selector is suitable for unique elements or JavaScript hooks. 2) For general styles, class selectors should be used as they are more flexible and maintainable. By balancing the use of ID and class, a more robust and efficient CSS architecture can be implemented.

HTML5'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

HTML5aimedtoimprovewebdevelopmentinfourkeyareas:1)Multimediasupport,2)Semanticstructure,3)Formcapabilities,and4)Offlineandstorageoptions.1)HTML5introducedandelements,simplifyingmediaembeddingandenhancinguserexperience.2)Newsemanticelementslikeandimpr


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Atom editor mac version download
The most popular open source editor

Dreamweaver CS6
Visual web development tools
