zoukankan      html  css  js  c++  java
  • 第1章:JavaScript简介

     

    一、简介

    JavaScript诞生于1995年,当时主要目的是处理以前由服务器语言负责的一些输入验证操作,在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填项,是否输入无效值。

    自此,JavaScript逐渐成为市面上常见的浏览器必须的一项特色功能,如今,JavaScript的用途早已不再局限于简单的数据验证,而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力。

    今天的JavaScript已经成为一门功能全面的编程语言,能够处理复杂的计算和交互,拥有了闭包,匿名(lamda,拉姆达)函数,甚至元编程等特性,

    作为Web的一个重要组成部分,JavaScript的重要性是不言而喻的,就连手机浏览器,甚至专为残障人士设计的非常规浏览器都支持它,微软虽然有自己的客户端语言VBScript,但微软仍然在IE的早期版本中加了自己的JavaScript实现。

    想要全面理解和掌握JavaScript,关键在于弄清楚它的本质、历史和局限性。

     

    注:对于IE而言,当我们提到JavaScript时,实际上就是指IEJavaScriptECMAScript)的实现-Jscript,最早的Jscript基于Netscape JavaScript 1.0开发,于19968月随同IE 3.0发布

     

    二、JavaScript实现

    虽然JavaScriptECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262中规定的要多得多,一个完整的JavaScript实现应该由下列三部分组成:

    1、核心(ECMAScript

    2、文档对象模型(DOM

    3、浏览器对象模型(BOM

    注:简单就是说。JavaScript包含ECMAScript

     

    关于ECMAScript

    ECMA262定义的ECMAScriptWeb浏览器没有依赖关系,实际上,这门语言本身不包含输入和输出定义,ECMA262定义的只是ECMAScript的基础,而在此基础之上可以构建更完美的脚本语言。我们常见的浏览器只是ECMAScript实现 可能的宿主环境之一(ScriptEase以及众所周知的Adobe Flash也都是宿主环境)。宿主环境不仅提供基本的ECMAScript实现,同时也提供ECMAScript语言的扩展,而这些扩展-如DOM,则利用ECMAScript的核心类型和语法提供更多具体的功能,以便实现针对环境的操作。

     

    ECMA262标准没有参照Web浏览器,它规定了这门语言的下列组成部分:语法、类型、语句、关键字、保留字、操作符、对象

    ECMA262就是对实现该标准的各个方面内容的语言的描述,JavaScript实现了ECMAScriptAdobe ActionScriptOpenView ScriptEase同样也实现了ECMAScript

     

    ECMAScript版本(书上介绍说是有4版)

    ECMAScript兼容(请自找资料)

    Web浏览器对ECMAScript的支持

    2008年,五大主流Web浏览器(IEFirefoxSafariChromeOpera)全部做到了与ECMA-262兼容。其中FF力求做到与该标准的第4版兼容,而IE8则率先着手实现尚未完成的ECMAScript 3.1

     

    关于 文档对象模型(DOM

         文档对象模型(DOMDocument Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。HTMLXML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

         通过DOM创建的这个表示文档的树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的API,开发人员可以轻松自如地删除、添加、替换或修改任何节点

    1、  为什么要使用DOM

    2、  DOM级别

    注:DOM并不只是针对JavaScript的,很多别的语言也都实现了DOM,不过,在Web浏览器中,基于ECMAScript实现的DOM的确已经成为JavaScript这门语言的一个重要组成部分。

    DOM1级的目标:映射文档的结构

    DOM2级的目标:引入以下新模块,给出了众多新类型和新接口的定义

         DOM视图(DOM Views)-定义了跟踪不同文档(例如:应用CSS之前和之后的文档)视图的接口;

         DOM事件(DOM Events)-定义了事件和事件处理的接口

    DOM样式(DOM Style)-定义了基于CSS为元素应用样式和接口;

    DOM遍历和范围(DOM Traversal and Range)-定义了遍历和操作文档树的接口

      

       DOM3级引入以统一方式加载和保存文档的方法-在DOM加载和保存(DOM Load and Save)模块中定义;新增验证文档的方法-在DOM验证(DOM Validation)模块中定义。DOM3级也对DOM核心进行了扩展,开始支持XML1.0 规范,涉及XML InfosetXPath XML Base.

     

    :在阅读DOM标准的时候,读者可能会看到DOM0级(DOM Level0)的字眼,实际上DOM0级标准是不存在的。实际指的是最初的DHTML/

     

    3、其他DOM标准

    4Web浏览器对DOM的支持

     

    浏览器对象模型(BOM

    BOMBrower Object Model,开发人员使用BOM可以控制浏览器显示页面以外的部分,而BOM真正与众不同的地方(也是经常会导致问题的地方),还是它作为JavaScript实现的一部分,至今仍没有相关的标准

         从根本上讲,BOM只处理浏览器窗口和框架;但人们习惯也把所有针对浏览器的JavaScript扩展算作BOM的一部分,以下就是这样一些扩展

    弹出新浏览器窗口的功能

    移动、绽放和关闭浏览器窗口的功能;

    提供浏览器详细信息的navigator对象

    提供浏览器所加载的页面的详细信息的location对象

    提供用户显示器分辨率详细信息的screen对象

    cookies的支持

    XMLHttpRequestIEActiveXObject这样的自定义对象

     

    由于没有BOM标准可以遵循,因此每个浏览器有自己的实现,虽然也存在一些事实标准,例如要有window对象和navigatior对象等,但每个浏览器都会为这2个对象乃至其他对象定义自己的属性和方法。

     

    三、小结:

    JavaScript是一种专为与网页交互而设计的脚本语言,由以下三部分组成

    1、  ECMAScript,ECMA-262定义,提供核心语言功能;

    2、  文档对象模型(DOM),提供访问和操作网页内容的方法和接口

    3、  浏览器对象模型(BOM),提供与浏览器交互的方法和接口

    JavaScript这三个组成部分,在当前五个主要浏览器(IEFireFox Chrome Safari Opera)中都得到不同程度的支持,其中,所有浏览器对ECMAScript3版的支持大体上都还不错,但对DOM的支持则彼此相差比较多,对JavaScript中唯一尚无标准的BOM来说,尽管各浏览器实现了某些众所周知的共同特性,但其他特性还是会因浏览器而异。

     

     

  • 相关阅读:
    numpy 基础 —— np.linalg
    图像旋转后显示不完全
    opencv ---getRotationMatrix2D函数
    PS1--cannot be loaded because the execution of scripts is disabled on this system
    打开jnlp Faild to validate certificate, the application will not be executed.
    BATCH(BAT批处理命令语法)
    oracle vm virtualbox 如何让虚拟机可以上网
    merge 实现
    Windows batch,echo到文件不成功,只打印出ECHO is on.
    python2.7.6 , setuptools pip install, 报错:UnicodeDecodeError:'ascii' codec can't decode byte
  • 原文地址:https://www.cnblogs.com/Silvia/p/2263158.html
Copyright © 2011-2022 走看看