分类 大前端 下的文章

jQuery源码分析(十二): 选择器


起步

入口$提供css选择器有以下的处理方式:

$(document)
$('<div></div>')
$('div')
$('.class')
$('#id')
$('[attr]')  //[att=val] [att~=val] [att|=val] [attr^=val] [attr$=val] [attr*=val] [attribute!=value]
$()
$(function(){})
$("input:radio", $('div'))
$("<div>", {"class":"test", text:"ttt"})
$(".class1, .class2, div")
$("div > .class") // ancestor descendant,parent > child,prev + next,prev ~ siblings

针对选择器的处理太多了(肯定大于这12种),一个功能越灵活就意味着它的实现就越复杂。


javascript的异步机制


起步

js编程总是伴随着异步操作,使得我们习惯的“线性”执行变得不一样,我们常用的异步操作:定时器setTimeout,事件绑定onclick,异步请求XMLHttpRequest,还有一些不常用的PromisesWebWorkor