来自《javascript高级程序设计 第三版:作者Nicholas C. Zakas》的学习笔记(一)

  Javascript是一种专为与网页交互而设计的脚本语言,由下列三个不同部分组成:

  • ECMAScript,提供核心语言功能;
  • 文档对象模型(DOM),提供访问和操作页面内容的方法和接口;
  • 浏览器对象模型(BOM),提供与浏览器交互的方法和接口;

  具体阐述如下:

  ECMA-262定义的ECMAScript与Web浏览器没有依赖关系,定义的只是这门语言的基础,而在此基础之上可以构建更加完善的脚本语言。我们所看到的Web浏览器只是ECMAScript实现可能的宿主环境之一(其它宿主环境包括Node[一种服务器端的Javascript平台]和Adobe Flash)。宿主环境不仅提供基本的ECMAScript实现,同时也会提供语言的扩展,以便语言和环境之间对接交互。而这些扩展——如DOM,则利用ECMAScript核心类型和语法更多更具体的功能。ECMA-262标准规定了这门语言的下列组成部分:语法;类型;语句;关键字;保留字;操作符;对象。

  主要注意的是:ECMAScript受主流Web浏览器支持的情况是有差异的。具体鼓励查阅更多的资料。

  DOM就是把页面映射为一个多层节点结构,如果告诉你这就是平时俗称的“文档树”,估计你就明白了。通过DOM创建的这个表示文档的树形图,我们可以获得控制页面内容和结构的主动权。借助DOM提供的API,我们可以轻松自如地删除、添加、替换或修改任何节点。

  BOM则是使我们可以控制浏览器显示页面以外的部分。从根本上讲,BOM只是处理浏览器窗口和框架,但是人们习惯上也把所有针对浏览器的js扩展算作BOM的一部分,如:弹出新浏览器窗口的功能;移动、缩放和关闭浏览器窗口的功能;navigator、location、screen对象;对cookies的支持;像XMLHttpRequest和IE的ActiveXObject这样的自定义对象。

  注:以上只是对js的整体介绍,以期得到粗略感知!主要是学习笔记之用。

Javascript和ECMAScript二三事的更多相关文章

  1. JavaScript 、ECMAScript、commonJS 发展历史 与标准化发展

    本文介绍下JavaScript和 ECMAScript的诞生及发展历史,以及标准化过程. 一.JavaScript诞生 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版. ...

  2. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  3. Javascript与ECMAScript

    我们经常习惯性认为Javascript就是ECMAScript,但其实不是这样的. ECMAScript是一种脚本在语法和语义上的标准. 主要包括:语法.类型.语句.关键字.保留字.操作符.对象. 它 ...

  4. javascript、ECMAScript、DOM、BOM关系

    ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准. ECMAScript 规范定义了一种脚本语言实现应该包含的内容:但是,因 ...

  5. JavaScript 入门教程二 在HTML中使用 JavaScript

    一.使用 <script> 元素的方式有两种:直接在页面中嵌入 JavaScript 代码和引用外部 JavaScript 文件. 二.使用内嵌方式,一般写法为: <script t ...

  6. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  7. JavaScript基本概念(二)

    JavaScript 基本概念(二) 操作符和语句 目录 操作符 一元操作符 位操作符 布尔操作符 乘性操作符 其他操作符 语句部分 说起操作符,回忆下上一篇文章末尾说的话. 操作符 一元操作符 ++ ...

  8. Java并发编程二三事

    Java并发编程二三事 转自我的Github 近日重新翻了一下<Java Concurrency in Practice>故以此文记之. 我觉得Java的并发可以从下面三个点去理解: * ...

  9. linux杂记(十二?) 关于账号和密码的二三事

    关于密码的二三事 关于账号和密码的二三事 久了不更linux的相关知识,实在是懒得想内容点(纯粹是懒).那么今天就来谈谈关于linux密码和账号的重要概念. 假如你的主机遭到入侵,那么对方的第一个侵入 ...

随机推荐

  1. HttpClient(4.3.5) - HTTP Protocol Interceptors

    The HTTP protocol interceptor is a routine that implements a specific aspect of the HTTP protocol. U ...

  2. Ehcache(2.9.x) - API Developer Guide, Transaction Support

    About Transaction Support Transactions are supported in versions of Ehcache 2.0 and higher. The 2.3. ...

  3. Core Bluetooth Programming Guide

    https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth ...

  4. (Android)View.getHeight或getWidth为0时的一些解决方案

    在Android开发过程中,经常需要动态的更改View的大小,有些View的大小可能需要根据其他View的大小来设定,或者你需要得到一些View的大小来进行某项操作,但是有可能你需要在onCreate ...

  5. Linux系统下给VMWare安装Tools

    1.进入Linux系统. 2.在VMware的窗口菜单中选VM >> install VMware Tools,虚拟机自动将VMware-tools装入虚拟光驱中. 3.在虚拟光驱里找出V ...

  6. 第三篇、微信小程序-网络请求API

    wx.request(OBJECT)发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. OBJECT参数说明: 效果图: net.js Page({ data:{ result:{} ...

  7. Xcode7中添加3DTouch

    首先是插件SBShortcutMenuSimulator的安装 1.git clone https://github.com/DeskConnect/SBShortcutMenuSimulator.g ...

  8. iOS动画——弹窗动画(pop动画)

    用pop动画简单实现弹窗的缩放和渐变,感觉这个动画常用,就写一下博客 pop动画是Facebook推出的动画引擎,请自行到GitHub上搜索下载拖拽导入xcode项目中. 更多pop动画使用和原理可网 ...

  9. 学习之spring自带缓存

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://w ...

  10. Shell 循环读取文件

    使用Shell将Windows环境下的文件拷贝到Linux下面的用法. 在linux下,将dos文件格式转换成linux文件格式的用法,vi打开,然后转到命令格式,执行,然后保存,就可以转换成linu ...