- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
昨天内容回顾
DOM操作
元素、文本、属性、document节点获取
元素:
getElementById()/getElementsByTagName()/getElementsByName()
文本:
元素节点.firstChild/lastChild;
属性:
元素节点.attributes;
元素节点.attributes.属性名称;
document:
元素节点.parentNode
属性值操作
元素节点.属性名称; (itnode.value)
元素节点.属性名称 = 值;
元素节点.getAttribute(属性名称);
元素节点.setAttribute(属性名称,值);
节点创建、追加、复制、删除
创建:
元素-document.createElement(tag名称);
文本-document.createTextNode(文本内容);
元素节点.setAttribute();
追加:
父.appendChild(子);
父.replaceChild(new,old);
父.insertBefore(new,old);
复制:
cloneNode(true/false)
删除:
父.removeChild(子)
事件操作
dom2级事件设置
节点.addEventListener(类型,处理,事件流);
节点.removeEventListener(类型,处理,事件流);
事件流
类型:冒泡、捕捉
事件对象获取及作用
获取:
① 事件处理函数的第一个形参
itnode.onclick = function(evt){}
② window.event
作用:
① 获取鼠标的坐标信息
② 感知被触发键盘键子的信息
③ 阻止事件流产生
④ 阻止浏览器默认动作(阻止form表单提交)
二. 作业
1. 利用纯javascript代码(DOM技术)制作一个无序列表(ul/li),4个项目
2. 在1作业基础上,给每个li设置事件(mouseover和mouseout),使得其有鼠标滑过高亮显示当前行。
三. 作用域链
1. 定义
变量在当前环境now、内部环境f1、内部深层环境f2/f3....都起作用的现象形成了一个链条,这个链条就称为变量的作用域链
外部环境变量可以给内部环境使用
2. 作用域链的作用
2.1 变量必须“先声明、后使用”
函数可以“先使用、后声明”,原因是函数有“预加载”过程(函数声明先于其他执行代码进入内存)。本质还是函数的声明在前,使用在后。
2.2 内部环境可以访问外部环境的变量,反之不然
2.3 变量的作用域是声明时决定的,而不是运行时
3. AO活动对象
AO: Active Object 活动对象
执行环境:
js代码执行是有环境的
该环境定义了其有权访问的其他数据
环境有一个与之关联的“活动对象AO”
环境中所有的变量和函数都是活动对象AO的属性
全局环境是最外围的执行环境,活动对象是window对象
执行环境中的代码执行完毕后就被销毁
AO/window
AO/window
window.mingzi
f1
f1
AO.mingzi
AO.age
f2
f2
AO.mingzi
AO.age
AO.height
f3
f3
AO.mingzi
AO.age
AO.height
执行环境可以访问变量的类型及优先顺序
重新认识全局变量和局部变量
全局变量:
声明:
① 在函数外部声明的变量
② 在函数内部不使用var声明的变量(前提是函数执行之后才起作用)
其是活动对象window的成员信息
在访问的时候,window是否设置都可以
局部变量:
声明:
在函数内部通过var声明的变量
其在一定范围内可以看做是“全局变量”。
其在本环境、内部环境、内部深层环境都可以被访问。
四. 闭包
1. 什么是闭包
闭包就是一个函数,两个函数彼此嵌套,内部函数就是闭包
形成闭包条件是内部函数需要通过return给返回出来.
2. 闭包特点
闭包有权利调用其上级环境的变量信息。
3. 闭包使用规则
同一个闭包机制可以创建多个闭包函数出来,它们彼此没有联系,都是独立的。
并且每个闭包可以保存自己个性化的信息。
总结:
作用域链
作用域链作用
① 变量必须先声明、后使用
② 内部环境 可以访问 外部环境变量,反之不然
③ 变量作用域是声明时候决定的,不是运行时
AO活动对象
js代码执行有环境区分,每个函数都是一个环境,window是全局环境
在每个环境里边有AO活动对象,固化了本环境可以访问的变量或函数
环境可以访问变量类型及顺序
闭包
4. 闭包案例
4.1 闭包生成数组元素
4.2 闭包事件操作
五. 面向对象
PHP里边,是从一个类里边获得一个具体对象。
Javascript里边,没有类
原创力文档


文档评论(0)