JQuery使用总结(一)

来源:互联网 发布:windows截图快捷键 编辑:程序博客网 时间:2024/06/01 20:47

最近写项目的过程中,发现JQuery中有一些语法还不够熟悉。

  • JQuery中的事件

一般来说JQuery中的事件函数可以写作这种格式。

 $(selector).event([callback]);

分析,需要处理某个元素或者一些元素的事件需要获取这些元素,所以需要通过$()来获取;要处理某元素的某个事件,所以需要通过event()来处理。

其中,event([callback])中的函数参数callback是可选的,若添加该参数,则标识给这个元素添加该事件的监听函数,即当该元素被触发该事件时,自动调用回调函数。若不添加callback参数,则表示触发该事件。

拿个例子来说

 $("div").click(function(){    alert(1); });

以上代码是给所有div标签添加点击事件,当点击时会弹出“1”。

而下面的代码则是触发所有div标签的点击事件。

$("div").click();

假设这两个例子同时存在于一个作用域时,第二块代码执行时将会执行第一块代码中的回调函数,因为执行第二块代码即触发第一块代码的事件。所有的div的点击事件都发生了。


  • JS中的消息队列和事件循环

    既然谈到了事件处理,回调函数。难免就会想到异步操作(虽然和Jquery关系不怎么强烈了),也就想到了消息队列和事件循环。因为回调函数是实现异步的操作之一。

  • JS异步

    什么是JS异步?先来谈一下什么是同步。JS中有个主线程,也就是普通代码(同步操作)执行的过程,执行完第一句再执行第二句,这就是同步。异步操作就是不在主线程中的语句。

    举个简单的例子,一条车道,车子在这条路上前进,当其中一辆车坏掉以后,后面的车子都无法前进,这就造成了阻塞,如果旁边有一条小路,用于维修车辆,修好的车继续进入车道前进,这样就不会造成阻塞了,其中车道是主线程用于处理同步任务,小道处理异步任务处理完成后告诉主线程。
    异步操作是如何执行的?这就谈到了消息队列和事件循环。

  • 消息队列和事件循环

    这个过程是这样的,看下面这张图。
    主线程先执行代码,执行到有异步操作时将异步操作交给工作线程(非主线程),然后继续执行代码。
    工作线程接收到主线程给过来的异步任务执行异步任务,然后执行完后将这个执行完的消息放到消息队列中,是一个先进先出的队列。然后主线程不断从消息队列中取消息、执行消息,每一个取并执行的过程为一个事件循环
    这里写图片描述