javascript高级程序设计---Event对象】的更多相关文章

事件是一种异步编程的实现方式,本质上是程序各个组成部分之间传递的特定消息. DOM的事件操作(监听和触发),都定义在EventTarget接口 该接口就是三个方法,addEventListener和removeEventListener用于绑定和移除监听函数,dispatchEvent用于触发事件. addEventListener() 用于在当前节点或对象上,定义一个特定事件的监听函数. target.addEventListener(type, listener[, useCapture])…
鼠标事件 事件种类 鼠标事件指与鼠标相关的事件,主要有以下一些. (1)click事件 click事件当用户在Element节点.document节点.window对象上,单击鼠标(或者按下回车键)时触发.“鼠标单击”定义为,用户在同一个位置完成一次mousedown动作和mouseup动作.它们的触发顺序是:mousedown首先触发,mouseup接着触发,click最后触发. 下面是一个设置click事件监听函数的例子. div.addEventListener("click",…
进度事件 进度事件用来描述一个事件进展的过程,比如XMLHttpRequest对象发出的HTTP请求的过程.<img>.<audio>.<video>.<style>.<link>加载外部资源的过程.下载和上传都会发生进度事件. 进度事件有以下几种. abort事件:当进度事件被中止时触发.如果发生错误,导致进程中止,不会触发该事件. error事件:由于错误导致资源无法加载时触发. load事件:进度成功结束时触发. loadstart事件:进…
Element对象对应网页的HTML标签元素.每一个HTML标签元素,在DOM树上都会转化成一个Element节点对象(以下简称元素节点).元素节点的nodeType属性都是1,但是不同HTML标签生成的元素节点是不一样的.JavaScript内部使用不同的构造函数,生成不同的Element节点,比如a标签的节点对象由HTMLAnchorElement()构造函数生成,button标签的节点对象由HTMLButtonElement()构造函数生成.因此,元素节点不是一种对象,而是一组对象. 属性…
学习Javascript,最难的地方是什么? Object(对象)最难,初学者不容易掌握. Javascript是一种基于对象(object-based)的语言,它的语法中没有class(类). C#面向对象基础 1.类是数据封装的基本单位,是重复使用的最小单位. 类的成员:变量.方法.属性.事件.常数 对象是类在内存中的实体,类用于描述对象在内存中的数据. 2.静态方法可以不建立类的对象,即不用new实例化,而用类直接调用:类名.方法名() Static变量通常用于配置全局共用的区块 3.ne…
<javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决对象识别问题,所有对象都仅是Object的实例 function createPerson(name,age,job) { var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name)…
HTML依托于JavaScript来实现用户与WEB网页之间的动态交互,接收用户操作并做出相应的反馈,而事件在此间则充当桥梁的重要角色. 日常开发中,经常会为某个元素绑定一个事件,编写相应的业务逻辑,在元素被点击时执行,并反馈到用户操作界面. 这个过程中,事件就像一个侦听器,当点击动作发生时,才会执行对应的程序.这种模式可称之为观察员模式. 接下来就讲讲DOM事件相关知识. 何为事件 事件就是用户或浏览器自身执行的某种动作 常用的DOM事件有click/mouseover/mouseout/ke…
错误类型 即时运行错误 (代码错误) 资源加载错误 常见的错误 1. 类型转换错误 建议使用全等===操作符 2.数据类型错误 建议加强类型判断 // 数组倒序 function reverseSort(value) { if (value instanceof Array) { // 使用instanceof验证数据类型 // (基础类型用typeof, 引用类型用instanceof) value.sort(); value.revere() } } 3. 通信错误 url参数编码错误造成,…
作用域链查找 作用域链的查找是逐层向上查找.查找的层次越多,速度越慢.随着硬件性能的提升和浏览器引擎的优化,这个慢我们基本可以忽略. 除了层级查找损耗的问题,变量的修改应只在局部环境进行,尽量避免在局部环境下去操作修改父级变量的值.(react/vue 单向数据流的数据传输方式) 优化方法:声明一个变量存储引用(该方法应用甚多) 不必要的属性查找 // 未优化(window.location.href 3*2 6次) // 未优化(window.location.href 3*2 6次) var…
编写可维护性代码 可维护的代码遵循原则: 可理解性 (方便他人理解) 直观性 (一眼明了) 可适应性 (数据变化无需重写方法) 可扩展性 (应对未来需求扩展,要求较高) 可调试性 (错误处理方便定位) 命名方式 变量取名多为为名词,方法取名多为为动词 // 变量名 car, person; // 方法名 getName, isEnable; 解耦 功能过于依赖,代码耦合过紧,不利于维护.而通过解耦能让我们更专一地处理特定功能业务的开发,也方便我们开发中调试,从复杂的耦合依赖中抽离出来. 解耦优势…