请指出JavaScript宿主对象和原生对象的区别?

在 JavaScript 中,对象可以分为两种:原生对象和宿主对象。

  1. 原生对象:这些是由 JavaScript 语言本身定义的对象,无论运行环境如何,都会存在。例如,String、Number、Boolean、Array、Object、Function 等都是原生对象。在 ECMAScript 标准中,你可以找到所有的原生对象。

    例如,我们可以创建一个新的数组(Array 是一个原生对象):

    let arr = new Array();
    
  2. 宿主对象:这些是由 JavaScript 的运行环境提供的对象。在不同的环境中,宿主对象可能会有所不同。在浏览器环境中,宿主对象包括 Window、Document、Location 等;在 Node.js 环境中,宿主对象包括 global、process、Buffer 等。

    例如,在浏览器环境下,我们可以使用 Document 对象(一个宿主对象)来操作 HTML 文档:

    let title = document.title;
    

总的来说,原生对象是 JavaScript 语言本身定义的,无论在哪个环境下运行,都会存在;而宿主对象是由 JavaScript 的运行环境定义的,会因环境不同而不同。

发表评论

后才能评论