JavaScript学习笔记————JavaScript的应用环境

JavaScript的应用环境,主要是宿主环境(host environment运行期环境构成。其中,宿主环境是指外壳程序(Shell)和Web浏览器等,而运行期环境则是由JavaScript引擎内建的。

 

宿主环境


宿主环境是为了隔离代码、语言与具体的平台而提出的一种设计。一方面我们不能让浏览器拥有一个巨大无比的运行期环境(虚拟机就是拥有特别大的运行期环境的一个平台),另一方面服务器端又需要较强大的环境,由此JavaScript就被设计为“宿主环境”的语言。

 

ECMAScript规范没有对宿主环境提出明确的定义。即没有对它提出标准的输入(stdin)或者输出(stdout)到哪一个具体的对象中。后来,RWCwebAPIs规范中首先提出了“需要一个Window对象”的浏览器环境。由此意味着在RWC或者浏览器端,是以window对象及其中的Document对象来提供输入输出。但RWC规范下的宿主环境”并不等于“JavaScript规范下的宿主环境”


方法

含义

 

AltersMessage

显示一个消息文本(字符串),并等待用户一次响应。调用者将忽略响应的返回信息

 

WritesText...

输出一段文本,多个参数将被连接成单个字符串文本。

 

WriteIn(sText,...)

(同write)输出一段文本,多个参数被连接成单个字符串文本,并在文本末尾追加一个换行符(\n

备注:write()与writeIn在浏览器中是Document对象的方法。


外壳程序

外壳程序是宿主的一种。


运行期环境

不同的书对其定义的解释也不一致:

例如《JavaScript权威指南》里,它由JavaScript内核(core)客户端(client)JavaScript两部分来组成;

JavaScript学习笔记————JavaScript的应用环境_第1张图片

而《JavaScript高级程序设计》中,它又是由核心ECMAscript文档对象模型(DOM)浏览器对象模型(BOM)三部分来组成的。

JavaScript学习笔记————JavaScript的应用环境_第2张图片

在初始状态下的运行期环境主要包括:

  1. 一个对宿主的约定
  2. 一个引擎内核
  3. 一组对象和API
  4. 一些其他的规范
常见的JavaScript引擎

引擎

应用

语言

备注

SpiderMonkey

Mozilla

C

 

JavaScriptCore

Safari

C++

基于KDE发布的KJS,由Apple公司支持

Rhino

Java

Java

主要应用于IBMSun等的Java平台

JScript

Windows

 

Windows环境,以及IE

Narcissus

 

JavaScript

备注*

备注*:Brendan Eich为验证JavaScript语言的自我实现能力而写的一套代码,被称为“JS implemented in JS”

你可能感兴趣的:(javascript,脚本语言,javascript引擎,web)