zoukankan      html  css  js  c++  java
  • 1_1 什么是JavaScript

    知识梳理

    JavaScript 是一门用来和网页交互的脚本语言 包含了 ECMAScript DOM对象  BOM对象 三个组成。
    . ECMAScript 由ECMA-262 定义 并 提供 核心功能
    . DOM 文档对象模型 提供与网页内容交互的方法和接口
    . BOM 浏览器对象模型 提供与浏览器交互的方法和接口

    1)ECMAScript

    1. ECMAScript 即ECMA-262定义的语言 并不局限于web浏览器.
    2. ECMAScript没有输入和输出的方法。
    3. ECMA-262 将这门语言作为基准来定义 以便在它之上构建更稳健的脚本语言。
    4. WEB浏览器只是ECMAScript实现可能存在的一种宿主环境.
    5. 宿主环境提供ECMAscript的基准实现和与环境自身交互必须的扩展.
    6. 宿主环境的扩展使用了ECMAscript语言的核心类型和语法 提供特定于环境的额外功能。比如DOM
    7. 其他宿主环境还有服务器端的node.js

    ECMA-262 定义了什么

    //. 如果不涉及浏览器 ECMA-262到底定义了什么?在基本的层面,它描述了这么语言的如下7个部分
    1. 语法
    2. 类型
    3. 语句
    4. 关键字
    5. 保留字
    6. 操作符
    7. 全局对象

    2)DOM 文档对象模型

    . 基本概念
      DOM 文档对象模型 定义了访问HTML 和 XML 文档的标准。
      DOM 是中立于平台和语言的接口 它允许程序和脚本动态地访问和更新文档内容 结构 和 样式。
    -------------------------------------------------------------------------------
    . 分为三个部分
    1. 核心 DOM: 针对任何结构化文档的标准模型
    2. XML DOM: 针对XML文档的标准模型 定义了所有XML元素的对象和属性 以及访问它们的方法
    3. HTML DOM: 针对HTML文档的标准模型 定义了所有HTML元素的对象和属性 以及访问它们的方法
    换言之 它是关于如何 获取 修改 添加 或 删除 HTML元素的标准。
    --------------------------------------------------------------------------------
    . DOM 将整个页面抽象为一组分层节点 页面的每个组成部分都是一种节点 包含不同的数据.
    . DOM 通过创建表示文档的树 让开发者随心所欲的控制网页的内容和机构.
    . 使用DOM API 可以轻松的 添加 删除 修改 替换节点. 从而改变网页的内容 结构 和 样式.

    DOM级别 

    . DOM level 1
    由DOM Core 和 DOM HTML 组成. 1998年10月 DOM Level1成为W3C的推荐标准
    DOM Core 提供了一种映射的XML文档 方便访问和操作文档任意部分的方式.
    DOM HTML 扩展了前者 并增加了特定于HTML的对象和方法

    . DOM level 2
    增加了:对鼠标事件 用户界面事件 范围 遍历 层叠样式表 的支持.
    新增了以下模块 以支持新的接口
    DOM视图: 描述追踪文档不同视图的接口( 如应用CSS样式前后的文档 ).
    DOM事件: 描述事件和处理事件的接口
    DOM样式: 描述处理CSS样式的接口
    DOM遍历和范围: 描述遍历和操作DOM树的接口

    . DOM level 3
    增加了 1. 以统一方式加载和保存文档的方法 [包含在 DOM Load and Save 的模块中 ]
    2. 验证文档的方法 DOM validation [ validation 单词 就是验证的意思 ]

    3)BOM 浏览器对象模型

    . BOM 浏览器对象模型 使JavaScript有能力与浏览器对话
    . 不存在BOM的官方标准
    . BOM主要针对浏览器窗口 和 子窗口(frame) 人们通常会把任何特定于浏览器的扩展都归到BOM下面
    1. 弹出新浏览器窗口的能力
    2. 移动 缩放 和 关闭浏览器窗口的能力
    3. navigator对象 提供了 关于浏览器的详尽信息
    4. location对象 提供了 浏览器加载页面的详尽信息
    5. screen对象 提供了 关于用户屏幕分辨率的详尽信息
    6. history对象 提供了 浏览器浏览历史记录的详尽信息
    7. performance对象 提供了 浏览器内存占用 导航行为 和 时间统计 的详尽信息
    8. 对Cookie的支持
    9. 其他自定义对象: XMLHttpRequest 和 IE的 ActiveObject
  • 相关阅读:
    Annotation
    injector
    Java容器(container)
    build tool(构建工具)maven和gradle安装方法
    version control(版本控制)
    函数式编程
    URI与URL
    超文本传输协议HTTP
    annotation的理解
    Injection
  • 原文地址:https://www.cnblogs.com/fuyunlin/p/14803277.html
Copyright © 2011-2022 走看看