第一遍通读的时候对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. java 反射取得方法入参类型的泛形

    package TestReflectClass; import java.util.List; /** * Created by wangyang on 2016/12/16. */ public ...

  2. HDU 3006 The Number of set(位运算 状态压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3006 题目大意:给定n个集合,每个集合都是由大于等于1小于等于m的数字组成,m最大为14.由给出的集合 ...

  3. iterator迭代器的使用

    部分摘自C++ Primer: 所有的标准库容器类都定义了相应的iterator类型,如vector:vector<int>::iterator iter; 这条语句定义了一个名为iter ...

  4. SQL Server 2008启用sa账户

    步骤一:首先,以window身份验证的方式登录到数据库. 步骤二:按照下图所示操作. 步骤三:在登录名sa上右击鼠标,选择属性.打开属性对话框. 步骤四:填写sa账户密码 步骤五:点击左边菜单状态,如 ...

  5. css重置样式表reset.css

    body, h1, h2, h3, h4, h5, h6, hr, p, blockquote,/* structural elements 结构元素 */ dl, dt, dd, ul, ol, l ...

  6. php 微信支付jsapi

    首先你们公司开通微信支付功能后,会收到一份邮件,里面有账户相关信息,一般有:微信支付商户号,商户平台登录帐号,商户平台登录密码,申请对应的公众号,公众号APPID. 1.下载demo:用上面信息登陆& ...

  7. .Net C/S系统开发框架(楚楚原创)

    C/S系统开发框架-企业版 V4.0 (Enterprise Edition) 简介: http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度 ...

  8. ASP.NET 后台不识别ASPX中的控件

    请问后台不识别ASPX中的控件,怎么解决 这个程序是在网上下载的 C# code <asp:DataGrid runat="server" ID="dgList1& ...

  9. [python]随机数

    import random()testlist = [1,3,4,5]a,b = 1,5random().random()() 生成0至1之间的随机浮点数,结果大于等于0.0,小于1.0random. ...

  10. 我学C的那些年[ch02]:宏,结构体,typedef

    c语言的编译过程: 预处理 编译 汇编 链接 而预处理中有三种情况: 文件包含( #include ) 条件编译(#if,#ifndef,#endif) 宏定义( #define ) 宏就是预处理中的 ...