search
HomeWeb Front-endFront-end Q&AWhat 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.

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
CSS: Can I use multiple IDs in the same DOM?CSS: Can I use multiple IDs in the same DOM?May 14, 2025 am 12:20 AM

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

The Aims of HTML5: Creating a More Powerful and Accessible WebThe Aims of HTML5: Creating a More Powerful and Accessible WebMay 14, 2025 am 12:18 AM

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

Significant Goals of HTML5: Enhancing Web Development and User ExperienceSignificant Goals of HTML5: Enhancing Web Development and User ExperienceMay 14, 2025 am 12:18 AM

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

HTML5: Is it secure?HTML5: Is it secure?May 14, 2025 am 12:15 AM

HTML5isnotinherentlyinsecure,butitsfeaturescanleadtosecurityrisksifmisusedorimproperlyimplemented.1)Usethesandboxattributeiniframestocontrolembeddedcontentandpreventvulnerabilitieslikeclickjacking.2)AvoidstoringsensitivedatainWebStorageduetoitsaccess

HTML5 goals in comparison with older HTML versionsHTML5 goals in comparison with older HTML versionsMay 14, 2025 am 12:14 AM

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

CSS: Is it bad to use ID selector?CSS: Is it bad to use ID selector?May 13, 2025 am 12:14 AM

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: Goals in 2024HTML5: Goals in 2024May 13, 2025 am 12:13 AM

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

What are the main areas where HTML5 tried to improve?What are the main areas where HTML5 tried to improve?May 13, 2025 am 12:12 AM

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

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Article

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools