前端提高篇(103),升职加薪必看


jQuery()可以匹配以下字符串情况:

//选择dom元素

$(‘#id’) $(‘.className’) $(‘div’) $(‘ul > li’) $(‘ul li’)

$(‘li’, ‘ul’)//匹配的是ul下的li,ul外的li不被匹配

$(‘li:eq(0)’)

//创建dom元素

$(‘

  • asdf
  • ’) $(‘

    ’) $(‘’) $(‘

  • asdf’)
  • 区分字符串,获取匹配暂存量

    字符串又分为几种情况,将不同的结果暂存在match中之后再区分处理:

    1.标准html标签,如:<li>asdf</li><p><img />

    匹配规则:以"<"开头,以 “>” 结尾,并且字符串总长度不少于3;

    匹配暂存中间量:match = [ null, selector, null ];

    2.非标准html标签或id选择器,如:<li>asdf或者#demo

    匹配规则: /^(?: \s* (<[\w\W]+>) [^>]* | #([\w-]+))$/,

    • \s*:零个或多个空字符

    • (<[\w\W]+>):<任意字符>

    • [^>]*:不是”>“的零个或多个字符

    • | :或者

    • #([\w-]+)):#(单词/字母/-中的一个或多个),代表匹配id选择器

    2.1 不标准html标签,以<li>asdf为例子,

    匹配暂存变量:match = ["<li>asdf", "<li>", undefined]

    2.2 id选择器,以#demo为例子,

    匹配暂存变量:match= ["#demo", undefined, "demo"]

    在这里插入图片描述

    在这里插入图片描述

    第一种和第2.1种属于创建标签,第2.2种属于寻找标签

    3.如果不是标准html标签,正则表达式又匹配不到的字符串,如:$('li:eq(0)')

    匹配暂存:match = null

    如传入:.demo

    在这里插入图片描述

    以暂存量为基础进一步处理

    从上一小节获得的match,在这一步骤做处理,分成几种情况,分别处理不同字符串

    1.match第一种处理的匹配条件:( match && ( match[ 1 ] || !context ) )

    • match不为空

    • match[1]不为空 或 match[1]和context均为空

    匹配前两种字符串,”match[1]不为空“匹配第一种和第2.1种;”match[1]和context均为空“匹配第2.2种

    在非标准html情况中,match[1]不为空代表正则表达式的第一个子表达式被匹配;

    match[1]为空代表正则表达式的第一个子表达式没有匹配到,第二个子表达式才被匹配,即匹配的是id选择器(id命名默认使用唯一命名,不需要上下文)

    1.1 当match不为空时

    生成原生dom并封装成jQuery对象:parseHTML将标签字符串转成包裹了dom对象的类数组,不完整的标签中非标签部分,如<li>asdf中的asdf不予理会,再由merge函数将这些对象合并,并返回在这里插入图片描述

    如:将<li></li>转成类数组对象,再合并到this中返回

    在这里插入图片描述

    或者,如果用户传入的不仅仅是html标签,还传入了属性,如:

    在这里插入图片描述

    在match[1]是单独一个标签(不是<li></li><li></li>),第二个参数是对象的情况下(默认这个对象存的是属性及属性值),遍历这个对象,当jQuery有添加这个属性的方法时,执行这个方法,如果没有,就用attr的方式添加到dom上去

    this[match]的理解:this是当前jQuery对象,match是第二个参数传进来的对象中的某一个key值,相当于上一个截图里的html

    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

    深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

    因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
    img
    img
    img
    img
    img
    img

    既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

    由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

    如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
    img

    最后

    小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析

    CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

    /20210419193354991.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tlcGxlcl9JSQ==,size_16,color_FFFFFF,t_70)

    虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值