第一遍通读的时候对JavaScript一点都不了解翻了一整本书仅仅是眼熟的几个名词,现在会写一些js效果了,对程序有一定的认知,又要在读一遍,再加深一些了解,当然以后还会有第三遍第四遍,等完全啃透了这本书,离前端工程师也就不远了,共勉吧

第一章  JavaScript简介

JavaScript分三部分 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM)

ECMA-262规定了 语法 类型 语句 关键字 保留字 操作符 对象

(DOM)是针对XML但经过扩展用于HTML的应用程序编程接口,它把整个页面映射为一个多层级节点结构,开发人员可以轻松自如的删除、添加、替换、修改任何节点

DOM1级由 DOM核心(DOM Core)和DOM HTML组成,主要是映射文文档结构,DOM2级在原来基础上扩充了 DOM视图(DOM Views) DOM事件(DOM Events) DOM样式(DOM Style) DOM遍历和范围(DOM Traversal and Range ) DOM3级更进一步扩展DOM,引入了DOM加载和保存模块(DOM Load and Save) DOM验证模块(DOM Validation)

有些语言还发布了只针对自己的DOM标准

(BOM)可以让开发者控制浏览器显示的页面以外的部分,包括 弹出新窗口, 移动、缩放和关闭窗口,提供浏览器navigation对象的属性,提供浏览器加载页面的location对象,提供用户显示器分辨率的screen对象,对cookie的支持,像XMLHttpRequest和IE的ActiveXObject这样的自定义对象

第二章  在HTML中使用JavaScript

<script>元素是在页面中插入JavaScript的主要方法,定义了 async(异步加载页面的其它内容) charset defer(延迟加载脚本直至html加载完毕)  language(废弃) src type 6种属性

<script type='text/javascript'>

  function sayHi() {

    alert('Hi!');

  }

</script>

<script type='text/javascript' src='example.js'></script>

外部引入脚本可以放在<head></head>标签里或</body>之前

早期不推荐的语法

<script><!--

  function sayHi() {

    alert('Hi!');

  }

//--></script>

文档模式有混杂模式(quirks mode)、标准模式(standards mode)以及准标准模式(almost standards mode)不同文档模式主要影响CSS内容呈现,某些情况下会影响JavaScript的解释执行

标准模式开启:

<!--HTML 4.01 严格型 -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<!--XHTML 1.0 严格型 -->

<!DOCTYPE html PUBLIC

"-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!-- HTML 5 -->

<!--DOCTYPE html>

准标准模式开启:

<!-- HTML 4.01 过渡型-->

<!DOCTYPE HTML PUBLIC

"- //W3C// DTD HTML 4.01 Transition//EN "

"http://www.w3.org/TR/html4/loose.dtd">

<!-- HTML 4.01 框架集型 -->

<!DOCTYPE HTML PUBLIC

"- //W3C//DTD HTML 4.01 Frameset//EN"

"http://www.w3.org/TR/html4/frameset.dtd">

<!-- XHTML 1.0 过渡型 -->

<!DOCTYPE html PUBLIC

"- //W3C//DTD XHTML 1.0 Transition//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transtional.dtd">

<!-- XHTML 1.0 框架集型 -->

<!DOCTYPE html PUBLIC

"- //W3C//DTD XHTML 1.0 Frameset//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"

准标准模式与标准模式的差异几乎可以忽略不计

<noscript></noscript>之间可以包含除<script>以外的任意html标签,只有在浏览器不支持JavaScript或者禁用JavaScript才会显示

-------------------------------------------------------4月1日的内容先到这里吧.一个月时间有点紧----------------------------------------------------------

JavaScript高级程序设计1.pdf的更多相关文章

  1. JavaScript高级程序设计61.pdf

    JSON对象 早期的JSON解析器就是使用JavaScript的eval()函数,ECMAScript5对解析JSON的行为做出了规定,定义了全局对象JSON. JSON对象有2个方法:stringi ...

  2. JavaScript高级程序设计60.pdf

    错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...

  3. JavaScript高级程序设计58.pdf

    15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...

  4. JavaScript高级程序设计57.pdf

    表单序列化 首先了解一下浏览器如何将数据发送给服务器 对表单字段的名称和值进行URL编码,使用和号(&)分隔 不发送禁用的表单字段 只发送勾选的复选框和单选按钮 不发送type为“reset” ...

  5. JavaScript高级程序设计55.pdf

    输入模式 HTML5为文本字段新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值 例如,只想在允许在文本字段中输入数值 <input type="text&q ...

  6. JavaScript高级程序设计54.pdf

    过滤输入 对于一些浏览器,可以使用正则表达式里的text()测试用户按下的按键,Firefox和safari(3.1版本之前)会对向上向下.退格键和删除键触发keypress事件,在Firefox中, ...

  7. JavaScript高级程序设计53.pdf

    共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...

  8. JavaScript高级程序设计52.pdf

    表单脚本 表单的基础知识 在HTML中,表单是由<form>元素表示的,在Javascript对应的是HTMLFormElement类型,它继承自HTMLElement,因此具有与其他HT ...

  9. JavaScript高级程序设计50.pdf

    hashchange事件 HTML5新增了hashchange事件,以便在URL的参数列表(及URL中“#”号后面的所有字符串)发生变化时通知开发人员,之所以新增这个事件,是因为在Ajax应用中,开发 ...

  10. JavaScript高级程序设计49.pdf

    HTML5事件 contextmenu事件 contextmenu事件是冒泡的,可以将事件处理程序指定到document,这个事件的目标是用户操作的元素,在兼容DOM的浏览器中使用event.prev ...

随机推荐

  1. dispatchkeyevent的调用机制

    http://blog.csdn.net/look85/article/details/23740761 dispatchKeyEvent和onKeyDown关系: 当键盘按下时 首先触发dispat ...

  2. python隐含的特性

    本文源自(http://stackoverflow.com/questions/101268/hidden-features-of-python)希望介绍Python非常有用,而比较忽视的Python ...

  3. Windows phone 之Interaction.Triggers的使用

    两个步骤:1.添加以下两个程序集System.Windows.InteractivityMicrosoft.Expression.Interactions 2.添加xmlns:i="clr- ...

  4. USACO 2.2 Subset Sums 集合(subset)

    Description 对于从1到N的连续整集合,能划分成两个子集合,且保证每个集合的数字和是相等的.举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的: {3} ...

  5. Webstorm6的汉化以及主题设置

    Webstorm6.0.2界面截图: webstorm作为一款前端开发软件,被业内称为神器,下面是下载地址. 需要的人太多,邮件不过来,传到这边方便大家下载 汉化包 http://www.jetbra ...

  6. python【第十一篇】消息队列RabbitMQ、缓存数据库Redis

    大纲 1.RabbitMQ 2.Redis 1.RabbitMQ消息队列 1.1 RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议 ...

  7. General Purpose Hash Function Algorithms

    General Purpose Hash Function Algorithms post@: http://www.partow.net/programming/hashfunctions/inde ...

  8. "git add -A" is equivalent to "git add .; git add -u".

    git add -A stages All git add . stages new and modified, without deleted git add -u stages modified ...

  9. DexIndexOverflowException: Cannot merge new index 66080 into a non-jumbo instruction!

    问题 该问题是方法数超过了65536(DEX 64K problem),无法编译成单个dex文件. 解决方案 谷歌官方给出的解决方案 android { compileSdkVersion 21 bu ...

  10. Laravel框架——分页

    第一种:查询时实现分页(不能使用groupBy) $users = App\User::paginate(15); or $users = User::where('votes', '>', 1 ...