北大青鸟分享js代码事件机制识别

JavaScript014

北大青鸟分享js代码事件机制识别,第1张

在各种浏览器中存在三种事件模型:原始事件模型,DOM2事件模型,IE事件模型。

其中原始的事件模型被所有浏览器所支持,而DOM2中所定义的事件模型目前被除了IE以外的所有主流浏览器支持.

原始事件模型:

在原始事件模型中(也有说DOM0级),事件发生后没有传播的概念,没有事件流。北大青鸟http://www.kmbdqn.com/认为事件发生,处理,结束,就这么简单。监听函数只是元素的一个属性值,通过指定元素的属性值来绑定监听器。书写方式有两种:

(1)HTML代码中指定属性值:

(2)在js代码中指定属性值:document.getElementsByTagName(‘input’)[0].onclick=func

优点:所有浏览器都兼容

缺点:

1.逻辑与显示没有分离

2.相同事件的监听函数只能绑定一个,后绑定的会覆盖掉前面的

3.无法通过事件的冒泡、委托等机制。

DOM2事件模型

此模型是W3C制定的标准模型。W3C制定的事件模型中,一次事件的发生包含三个过程:

(1)事件捕获阶段。事件被从document一直向下传播到目标元素,在这过程中依次检查经过的节点是否注册了该事件的监听函数,若有则执行。

(2)事件处理阶段。事件到达目标元素,执行目标元素的事件处理函数.

(3)事件冒泡阶段。事件从目标元素上升一直到达document,同样依次检查经过的节点是否注册了该事件的监听函数,有则执行。

所有的事件类型都会经历"事件捕获阶段"但是只有部分事件会经历"事件冒泡阶段"阶段,例如submit事件就不会被冒泡。

e.target与e.currentTarget是干什么的?

e.target获取当前实际触发事件节点,e.currentTarget获取获取当前监听节点。

11111

$('div').on('click',function(e){console.log(e.currentTarget)console.log(e.target)})

如果点击span的输出:

li对象

span对象

点击li的非span区域,输出

li对象

li对象

preventDefault与stopPropagation是干什么的

凭借着JS与V8引擎的加持、强大的天然可扩展性以及事件驱动型架构,Node.js已经快速成为Web应用与SaaS产品构建当中的客观标准。

然而,在为Node.js提供可观支持的同时,JS的存在也带来一些限制。

面对相关问题,合肥电脑培训http://www.kmbdqn.cn/将在今天的文章中共同探讨编写高效且可扩展Node.js代码所必须掌握的十项JS基本概念。

1.立即调用函数表达式2.Closure3.Protoype属性4.利用closure实现private属性5.Module模式6.Hoisting7.Currying8.Apply、call与bind方法9.制表(Memoization)10.方法重载

JavaScript编程开发语言和python编程开发语言随着互联网的不断发展,其相互之间的竞争也越来越明显。

而今天我们就一起来了就一下都有哪些具体内容吧。

JavaScript发布于1995年,是一门用于增加网站交互性的脚本语言。

这门语言还拥有许多进阶的版本,比如用来给应用服务端增加额外功能的Node.js就是其中一个。

据估计,有94.9%的网站使用的语言都是JavaScript。

那么它究竟为什么如此热门呢?目前看来,应该有以下三个主要原因:JavaScript既可以在客户端使用,也可以在服务端使用。

有了这样“双面全能”的工具,程序员就完全可以抛弃掉PHP这类只能用在服务端的语言了。

JavaScript还是一门能实现跨平台的编程语言。

举例来说,由Facebook开源的JavaScript框架ReactNative,就可以帮助我们开发出在桌面及手机都可使用的应用。

JavaScript还拥有一批热忱的“拥护者”。

正是由于这批JavaScript爱好者的积极使用及与不断呼吁,这门动态语言才能够拥有今日的地位。

Python急剧飙升的热度Python发布于1991年,因此资历比JavaScript还要大上一些。

尽管如此,这门强大的语言似乎直到近年才开始火热起来。

作为一门具有超高通用性的高级语言,Python在各个领域都得到了广泛的应用,包括网页应用开发、数据分析及机器学习算法的建立等。

Python惊人的增长速度同样也可归结到三个主要原因上:其一,Python简单易用的语法使其受到了大量用户的推崇。

Python非常强调代码的可读性及间接性,也因而成为了许多开发新手偏好的选择。

其二,Python具有可靠性高、效率高的优点,这就为其赢得了许多人工智能专家的欢心。

如今,随着机器学习及数据科学应用的不断增多,Python自然成为了备受相关领域专业人士喜爱的选择。

此外,众多Python库的存在也使得各领域的科技工作得到了进一步的简化。

其三,Python和JavaScript一样,也拥有自己的一批忠实用户,正是他们的支持带来了Python的快速成长。

电脑培训http://www.kmbdqn.cn/在Python发布以来的二十余载中,Python热爱者们编写了大量的语言指南及出版读物。

无论是新手还是“老炮”,都能够由此非常便捷地获取外部经验。