zoukankan      html  css  js  c++  java
  • 浏览器、宿主环境、执行期环境

      javascript只能寄生在某个具体的环境才能够工作

      javascript运行环境一般都由宿主环境和执行期环境构成,其中宿主环境是由外壳程序生成的,如浏览器就是一个外壳程序,它提供了一个可控制浏览器窗口的宿主环境。执行期环境则有嵌入到外壳程序中的javascript引擎生成,在这个环境中javascript能够生成内置静态对象和初始化执行环境等。  

      javascript是一种脚本语音,它本身不提供I/O(输入和输出)接口,也没有与系统和外界通信的能力,更不能操作外围设备、管理内存、修改注册表等行为,这些功能全部交给宿主环境完成的,例如,在客户端浏览器(外壳程序)的宿主环境中,Javascript通过window对象的alert()方法及document对象的write()和writeIn()方法输出信息,而借助window的prompt()方法接收信息。当然,在其他宿主环境中可能会使用不同的宿主对象来完成以上功能。例如,在windows环境中,微软公司开发的WSH就是一种脚本语言的宿主环境,它就定义了类似window对象的wscript对象来表示全局对象。

      不仅web浏览器是外壳程序,只要能提供javascript引擎执行的环境都可以做外壳程序。比如,服务器,桌面应用系统也都能够允许JavaScript引擎执行的运行环境,这些运行环境也是宿主环境。  

            web浏览器允许javascript引擎对其进行控制,并通过DOM组件实现对HTML和XML文档的操作。

    执行期环境是由宿主环境通过脚本引擎创建的,实际上就是由Javascript引擎创建的一个代码解析初始化环境,内容主要包括:

        1、一套与宿主环境想联系的规则

        2、javascript引擎内核(基本语法和规范、逻辑、命令和算法)  

        3、一组内置对象的API

        4、其他约定

      当然,不同的javascript引擎定义的初始化环境是不同的,这就形成了所谓的浏览器兼容性问题,因为不同的浏览器使用的是不同的浏览器引擎。

  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/1rookie/p/7832930.html
Copyright © 2011-2022 走看看