JavaScript高级程序设计1.pdf
第一遍通读的时候对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的更多相关文章
- JavaScript高级程序设计61.pdf
JSON对象 早期的JSON解析器就是使用JavaScript的eval()函数,ECMAScript5对解析JSON的行为做出了规定,定义了全局对象JSON. JSON对象有2个方法:stringi ...
- JavaScript高级程序设计60.pdf
错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...
- JavaScript高级程序设计58.pdf
15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...
- JavaScript高级程序设计57.pdf
表单序列化 首先了解一下浏览器如何将数据发送给服务器 对表单字段的名称和值进行URL编码,使用和号(&)分隔 不发送禁用的表单字段 只发送勾选的复选框和单选按钮 不发送type为“reset” ...
- JavaScript高级程序设计55.pdf
输入模式 HTML5为文本字段新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值 例如,只想在允许在文本字段中输入数值 <input type="text&q ...
- JavaScript高级程序设计54.pdf
过滤输入 对于一些浏览器,可以使用正则表达式里的text()测试用户按下的按键,Firefox和safari(3.1版本之前)会对向上向下.退格键和删除键触发keypress事件,在Firefox中, ...
- JavaScript高级程序设计53.pdf
共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...
- JavaScript高级程序设计52.pdf
表单脚本 表单的基础知识 在HTML中,表单是由<form>元素表示的,在Javascript对应的是HTMLFormElement类型,它继承自HTMLElement,因此具有与其他HT ...
- JavaScript高级程序设计50.pdf
hashchange事件 HTML5新增了hashchange事件,以便在URL的参数列表(及URL中“#”号后面的所有字符串)发生变化时通知开发人员,之所以新增这个事件,是因为在Ajax应用中,开发 ...
- JavaScript高级程序设计49.pdf
HTML5事件 contextmenu事件 contextmenu事件是冒泡的,可以将事件处理程序指定到document,这个事件的目标是用户操作的元素,在兼容DOM的浏览器中使用event.prev ...
随机推荐
- dispatchkeyevent的调用机制
http://blog.csdn.net/look85/article/details/23740761 dispatchKeyEvent和onKeyDown关系: 当键盘按下时 首先触发dispat ...
- python隐含的特性
本文源自(http://stackoverflow.com/questions/101268/hidden-features-of-python)希望介绍Python非常有用,而比较忽视的Python ...
- Windows phone 之Interaction.Triggers的使用
两个步骤:1.添加以下两个程序集System.Windows.InteractivityMicrosoft.Expression.Interactions 2.添加xmlns:i="clr- ...
- USACO 2.2 Subset Sums 集合(subset)
Description 对于从1到N的连续整集合,能划分成两个子集合,且保证每个集合的数字和是相等的.举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的: {3} ...
- Webstorm6的汉化以及主题设置
Webstorm6.0.2界面截图: webstorm作为一款前端开发软件,被业内称为神器,下面是下载地址. 需要的人太多,邮件不过来,传到这边方便大家下载 汉化包 http://www.jetbra ...
- python【第十一篇】消息队列RabbitMQ、缓存数据库Redis
大纲 1.RabbitMQ 2.Redis 1.RabbitMQ消息队列 1.1 RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议 ...
- General Purpose Hash Function Algorithms
General Purpose Hash Function Algorithms post@: http://www.partow.net/programming/hashfunctions/inde ...
- "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 ...
- DexIndexOverflowException: Cannot merge new index 66080 into a non-jumbo instruction!
问题 该问题是方法数超过了65536(DEX 64K problem),无法编译成单个dex文件. 解决方案 谷歌官方给出的解决方案 android { compileSdkVersion 21 bu ...
- Laravel框架——分页
第一种:查询时实现分页(不能使用groupBy) $users = App\User::paginate(15); or $users = User::where('votes', '>', 1 ...