ppk谈javascript
第⼀章 ⽬标(讨论javascript的⽬标、技术概览以及javascript的历史,以说明它的⽬标是如何被重新定义的)
1.javascript的⽬标是给web页⾯增加⼀个额外的可⽤性层
2.胖客户端(可⽤性)和瘦客户端(可访问性)
3.可访问性和可⽤性
4.核⼼(使得javascript成为⼀门编程语⾔的基础,控制结构、变量、函数和对象)
BOM(给浏览器窗⼝下达命令,读取cookie,与其他窗⼝进⾏通信)
事件(出⽤户执⾏的动作,并定义这些动作将触发的函数)
DOM(学习和改变HTML⽂档的结构)
CSS修改(学习和改变HTML⽂档的css表现)
数据检索(从服务器下载新的数据⽽不刷新页⾯)
5.所有脚本都使⽤核⼼语⾔、事件和DOM,因为所有脚本必须是⼀个程序(核⼼)、必须等待⽤户采取某些⾏动(事件)、必须更新页⾯以提供反馈(DOM)。
第⼆章 ⼤背景(讨论javascript的上下⽂环境,应是⼀个满⾜可⽤性、可访问性和符合标准的⽹站,它的结构层、表现层和⾏为层是分离的)
1.可访问性:⽹页对任何⼈在任何环境下都是可持续访问的
2.可⽤性:基础可⽤性到更好的使⽤⽹页
第三章 浏览器(讨论浏览器之间的兼容性问题和处理它们的策略)
1.渲染引擎和javascript引擎
2.Firefox-Gecko/IE-Trident/Safari-KHTML/Opera-
3.兼容性问题:不⽀持、合理的不同看法、有意为之的兼容性问题、浏览器bug
4.对象检测和浏览器检测
第四章 准备(讨论javascript与HTML结构层的交互、初始化和script标签)
1.良好的HTML/CSS结构
2.钩⼦:id,class,⾃定义属性(不属于HTML规范的属性),名值对
3.准备页⾯:
清晰的描述⽤户应该做什么才会启动脚本(选择合适的事件);
访问者到达你的页⾯后会发⽣什么(确定访问者的状态);
是否需要访问某个特定资源(设置访问);
修改HTML⽂档(产⽣内容);
是否需要定义HTML元素之间的关系,即发⽣在第⼀个元素上的事件是否会触发另⼀个元素的变化(定义关系);
对⽂档的⼤规模修改(修改⽂档结构);
4.初始化:window.load=函数名;
第五章 核⼼(基础、值、运算符、变量、数字&字符串&布尔型、控制结构、函数、对象、数组)
1.区分⼤⼩写、语句和分号、注释、代码块{}、运算符(操作数、优先级、返回值)、值(函数作为值、变量、字⾯量)
2.数据类型:数字、字符串、布尔值、对象(除了前三种都是对象,区别是对象可以被复制、被传递、还可以通过引⽤来⽐较,⽽不是通过值)、null(⽆值)、undefined()
函数-function
null-object
4.NaN⾮数字
javascript全局数组“+”号
false:null、undefined、0、NaN、空字符串‘’
显式类型转换:*1、-0、+‘’、!!
5.运算符:
算术运算符:⾃增⾃减、相等、不等
条件运算符
6.变量名称:⼩写驼峰式(字母,_,$,数字)
使⽤关键字声明变量var
变量作⽤域(定义局部变量:var、参数)
7.Math对象、toFixed()/parseInt()/parseFloat()
8.引号(包含引号时可以转义)
创建了⼀个字符串,它就⽣成了⼀个String对象
length、indexOf()/lastindexOf()/chatAt()/substring()/split()/toLowerCase()/toUpperCase()
9.布尔运算符 &&/||/!
10.if、swich、for、while、do-while、for-in、break/continue、try-catch-finally
11.function 函数名称(参数){返回值}
作为值的函数 ⽤()
内嵌函数
12.⾃定义对象 两种⽅法(new 对象字⾯量)
this关键字
全局对象
13.头部插⼊unshift()、头部删掉shift()、尾部插⼊push()、尾部删除pop()
第六章 BOM
1.window对象的作⽤:
它是javascript语⾔核⼼需要的全局对象;
它代表⽤户可以在电脑屏幕上看到的浏览器窗⼝;
它可以访问载⼊到窗⼝中的HTML⽂档;
它包含其他杂项休息和功能;
2.跨浏览器通信
导航:location对象和history对象
窗⼝⼏何学:screen对象、窗⼝尺⼨、移动&改变⼤⼩&滚动窗⼝、获得焦点和失去焦点;
navigator对象、alert()、confirm、prompt()、setTimeOut()/clearTimeOut/setInterval()/clearInterval();
document对象;
名值对、有效期、⽬录路径、域
第七章 事件
1.javascript是⼀种事件驱动的编程语⾔
2.事件(⽤户采取的触发脚本的⾏为)、
注册事件处理程序(定义事件发⽣的时候哪⼀个函数被执⾏)、
事件冒泡和捕获(如果⼀个HTML元素和它的⽗元素处理同样的事件时,决定哪个事件处理程序先被触发)、
访问事件对象(事件对象保存着您的脚本可能需要的事件信息)、
⽬标定位(出你应该对哪个元素执⾏操作以作为对事件的响应)
3.⿏标事件:click/dbclick/mouseover/mouseout/mouseover/mousedown/mouseup 可访问性问题(⽤户⽤键盘操作的时候)
键盘事件:
接⼝事件:blur/focus/change/contextmenu(点击右键)/load/unload/readystatechange/reset/submit/resize/scroll
默认操作和事件模拟
4.⾏内事件处理程序、传统模型、W3C模型(addEventListener/removeEventListener)、微软模型(attachEvent/detachEvent)
5.事件冒泡(从下到上)和事件捕获(从上到下)、
6.事件对象event对象:type(哪种事件)、发⽣事件的元素、⿏标的位置、⿏标按键、键盘属性
7.到⽬标对象:target和srcElement、this
第⼋章 DOM
1.节点树(节点类型:⽂档节点、元素节点、属性节点、⽂本节点)
2.寻元素:
长途:getElementById()/getElementsByTagName()
短途:parentNode/firstChild/lastChild/previousSibling/nextSibling
childNodes[]/children[](这个只包含元素节点)
3.节点信息:nodeName/nodeValue/nodeType(元素节点是1、属性节点是2、⽂本节点是3、⽂档节点是9)
4.修改⽂档树:appendChild()和insertBefore()/removeChild()/replaceChild()
5.创建&克隆元素:createElement()、createTextNode():按字⾯创建⽂本、clone()
6.innerHTML
7.属性节点getAttribute/setAttribute
8.⽂本节点
9.节点列表
10.表单与0级DOM
第九章 CSS修改
1.style属性
2.改变class
3.获取样式:ComputedStyle
4.元素的尺⼨:clientWidth/clientHeight offsetWidth/offsetHight scrollWidth/scrollHeight scrollTop/ScrollLeft 第⼗章 数据检索
1.创建⼀个XMLHttpRequest对象(随浏览器类型⽽定)
指⽰该对象打开⼀个特定的⽂件(调⽤open(method,url,true)⽅法)
告诉该对象如何处理服务器返回的数据(注册onreadystatechange事件处理程序)
给出指令让该对象发送请求(调⽤send()⽅法);
2.GET是把数据作为查询字符串追加在URL上,POST让数据随着HTTP请求的正⽂发送
3.响应的格式:responseXML、responseText
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论