| 导语 曾经红级一时的jQuery还记得吗?拥有号称当时业界最快的DOM选择器Sizzle,那么为什么他能自称是最快呢?让我们来分析一下Sizzle.js的源码,了解他的设计精妙之处。虽然MVVM已经成为现在的主流,但是了解历史能让我们更了解现在,也为以后更好的设计和开发框架提供的参考。 作者:朱胜--腾讯web前端工程师 @IMWeb前端社区 一、前沿 DOM选择器(Sizzle)是jQuery框架中非常重要的一部分,在H5还没有流行起来的时候,jQuery为我们提供了一个简洁,方便,高效的DOM操作模
cheerio 是nodejs特别为服务端定制的,能够快速灵活的对JQuery核心进行实现。它工作于DOM模型上,且解析、操作、呈送都很高效。
css选择器的具体实现是一个匿名自执行函数,传入参数为window对象。函数顶部定义若干变量,包括本地文档变量、特定实例数据和特定实例方法,此外还定义了一些为选择器字符串服务的正则表达式。数量太多就不一一列举了,感兴趣的可以自己去看源码吧。
// 核心方法 // 回调系统 // 异步队列 // 数据缓存 // 队列操作 // 选择器引 // 属性操作 // 节点遍历 // 文档处理 // 样式操作 // 属性操作 // 事件体系 // AJAX交互 // 动画引擎
2、createCache()方法,创建一个受限的键值对类型缓存。返回的是一个函数,
对象Sizzle.selectors.match/leftMatch中存放了表达式类型和正则的映射,正则用于确定块表达式的类型,并解析其中的参数。
曾经红级一时的jQuery还记得吗?拥有号称当时业界最快的DOM选择器Sizzle,那么为什么他能自称是最快呢?让我们来分析一下Sizzle.js的源码,了解他的设计精妙之处。虽然MVVM已经成为现在的主流,但是了解历史能让我们更了解现在,也为以后更好的设计和开发框架提供的参考。 作者:朱胜--腾讯web前端工程师 @IMWeb前端社区 好了有了之前的词法分析过程,现在我们来到select函数来,这个函数的整体流程,前面也大概说过: 1. 先做词法分析获得token列表 2. 如果有种子集合直接到编译过程
jQuery的版本更新很快,你应该总是使用最新的版本。因为新版本会改进性能,还有很多新功能。
1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本。因为新版本会改进性能,还有很多新功能。 下面就来看看,不同版本的jQuery性能差异有多大。这里是三条最常见的jQuery选择语句: $('.elem') $('.elem', context) context.find('.elem') 我们用1.4.2、1.4.4、1.6.2三个版本的jQuery测试,看看浏览器在1秒内能够执行多少次。结果如下:
近几年来中国互联网飞速发展,前端更是日新月异,放到十年前,肯定不敢想象现在的互联网这么欣欣向荣
一、前言 在polyfill querySelectorAll 和写弹出窗时都需要判断两个节点间的位置关系,通过jQuery我们可以轻松搞定,但原生JS呢?下面我将整理各种判断方法,以供日后查阅。 二、祖孙关系 html son <
上周,我整理了《jQuery设计思想》。 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery"。今天的文章则是更进一步,讲解"如何用好jQuery"。 我主要参考了Addy Osmani的PPT《提高jQuery性能的诀窍》(jQuery Proven Performance Tips And Tricks)。他是jQuery开发团队的成员,具有一定的权威性,提出的结论都有测试数据支持,非常有价值。 =============================================
微软Build大会上官宣的新款Windows Terminal,终于放出预览版供下载了!
注释就是不被解析的一串字符。JavaScript 注释有以下两种方法: 单行注释://单行注释信息。 多行注释:/*多行注释信息*/。
IT界在过去几年中出现了一个有趣的现象。很多新的技术出现并立即拥抱了“大数据”。稍微老一点的技术也会将大数据添进自己的特性,避免落大部队太远,我们看到了不同技术之间的边际的模糊化。假如你有诸如Elasticsearch或者Solr这样的搜索引擎,它们存储着JSON文档,MongoDB存着JSON文档,或者一堆JSON文档存放在一个Hadoop集群的HDFS中。你可以使用这三种配置完成很多同养的事情。
本文主要介绍了捕获和非捕获的概念,并举了一些例子,这些都是正则表达式在js中进阶的一些用法。后面有彩蛋哦
不知道在哪里看到了这篇关于jQuery编码的文章,挺实用的,恰好最近在研究jQuery的基础知识,今天打开收藏夹来翻译一下,原文的英语不难,但是内容很实用,可能有大神已经翻译过了,大家看精华就行了。
前言: unwrap() 的解析请看 jQuery源码解析之replaceWith()/unwrap() empty() 的解析请看 jQuery之text()的实现
原文 http://shichuan.github.io/javascript-patterns/#jquery-patterns
前言:这篇讲完后,jQuery的文档处理就告一段落了,有空我把这部分整合下,发一篇文章目录。
要拍视频,首先得有一个视频脚本,这种事情交给kimichat办非常方便。在kimichat中输入提示词:
市面上的jQuery书太多了,良莠不齐,看了那么多总觉得少点什么 对"干货",我不喜欢就事论事的写代码 我想把自己所学的知识点,代码技巧,设计思想,代码模式能很好的表达出来 所以考虑通过分析jQuery的源码库的方式来表达,尽力做最好 内容结构还在不断的修正,欢迎给出建议… 本书围绕的几个核心点: 设计理念 结构组织 抽象设计 模式运用 场景套用 第一章:理解架构 1.1 我们真正会使用jQuery吗? 1.2 库与框架的区别 1.3 jQuery对象与dom对象的区别 1.4 立即表达
文档对象模型(Document Object Model, DOM),在控制面板中用window.document获取
最近半个月时间,经过几次面试,差不多已经对自己有了定位————距离腾讯T3岗位还是有一点距离。
大家好,我最近阅读了一篇国外大佬关于继续使用JQuery的文章,感觉收获颇丰。在这个追求新技术的时代,了解为何JQuery仍受青睐,对我们来说非常有价值。下面,我将基于这位大佬的观点,为大家深入解析JQuery的独特魅力。
var x = {}; var y = []; var z = null; typeof x; // "object" typeof y; // "object" typeof z; // "object"
最新全家桶激活码获取方法:https://docs.qq.com/doc/DS3hpVWFnQ2ZGVnhH
日前,英国政府网站 GOV.UK 删除其网站上所有前端应用程序依赖项 jQuery。删除之后,13 个前端应用程序 JavaScript 大小减少了 32 KB(或 31% 到 49%)之间,其他多项性能提升,团队部分技术债得以清除。
作者:@markyun markyun.github.io/2015/Front-end-Developer-Questions/ HTML Doctype作用?严格模式与混杂模式如何区分?它们有何意
点击关注公众号,Java干货及时送达 出品 | OSC开源社区(ID:oschina2013) 作为差点一统全球门户网站的前端工具,jQuery 曾在 Web 2.0 初兴之时风头无两,然而随着前端技术的不断演进与浏览器底层标准的统一,jQuery 却逐渐成为一些网站眼中的 “技术债”。 日前,英国政府网站 GOV.UK 删除其网站上所有前端应用程序依赖项 jQuery。删除之后,13 个前端应用程序 JavaScript 大小减少了 32 KB(或 31% 到 49%)之间,其他多项性能提升,团队
HTML Doctype作用?严格模式与混杂模式如何区分?它们有何意义? HTML5 为什么只需要写 ? 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 页面导入样式时,使用link和@
昨天看的是jQuery源码中最顶部的模块规范判断部分,其主要作用是针对所处不同环境支持的模块规范给出兼容性操作。而jQuery真正主体的部分是在工厂函数中的,在里面实现了所有功能,下面我将工厂函数的函数体按行标记分割成许多小的模块,分割的依据是按照功能块的不同,下面列出我分割好的jQuery简化框架:
可能现在不管大家去面试还是在公司上班都会涉及到代码可读性,或者是代码规范。优秀的代码注释可以提高代码可读性,当然优秀的命名规范也可以啦。我们这里就讨论一下代码注释。代码注释可能就相当于产品使用说明书,当别人看到你的代码的时候,知道你的代码是干嘛的,是怎么使用的。我们所熟悉的可能就是 // 是单行注释,/***/ 是多行注释,下面我们就来聊一聊代码注释!
一、谷歌浏览器插件 二、Sublime Text 插件 三、Phpstorm 插件 四、油猴脚本 4.1 脚本网站 4.2 自用的脚本 五、相关链接 分享一些超好用的谷歌浏览器、Sublime Te
javascript和jQuery有点关系,js是一种脚本语言,主要用于客户端,现在主要用于实现一些网页效果。
原文作者:微软云信息服务实验室研究员Dhruv Mahajan, Sundararajan Sellamanickam, Keerthi Selvaraj 译者:张彤 如今,各类企业都在积聚越来越庞大的数据资产,比如用户行为、系统访问、使用模式等数据记录。而运用像微软Azure机器学习平台这样的云端服务平台,企业不仅仅可以用它来储存数据,做一些经典的“后视”商务智能分析,更能使用云端的强大力量做出具有“前瞻性”的预测分析。使用Azure机器学习这样的现代化工具,企业可以获得关于其业务未来发展的切实见解
从我上大学开始正式认识前端这个岗位到现在已经整整过了六年,这六年于我而言就像是观赏了一场盛大的游园活动。无数各式各样的框架、模式、开发思路如同花车一般从眼前掠过又走远。留下了一地残乱的余烬和破碎的思考。
作者:sagittarius-rev 链接:https://www.zhihu.com/question/31305968/answer/116439739 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
我们最近完成了一个里程碑,我们可以将jQuery作为GitHub.com前端代码的依赖项删除。这标志着一个渐进的、长达数年的、与jQuery越来越脱钩的过渡的结束,直到我们能够完全删除这个库。在这篇文章中,我们将解释一点我们最初是如何开始依赖jQuery的,我们是如何意识到不再需要jQuery的,并指出我们没有用另一个库或框架替换它,而是能够使用标准的浏览器api实现所需的一切。
当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。
初学者玩转 TypeScript系列,总计 21 期,点赞、收藏、评论、关注、三连支持! TS系列地址: 21篇文章带你玩转ts
UltraViewPager 是阿里开源的一个封装多种特性的 ViewPager ,主要是为多页面切换场景提供统一解决方案。
js和物联网领域的关系不是很大,为什么要关心js呢?其实关系也不小,它主要是负责直接和用户交互的那部分,也就是前端,前端基本都是离不开js的,甚至有些CS架构的程序也用js,比如nodejs开发的客户端程序。
1. 从Google Code加载jQueryGoogle Code上已经托管了多种JavaScript类库,从Google Code上加载jQuery比直接从你的服务器加载更有优势。它节省了你服务器上的带宽,能够很快的从Google的内容分布网络(CDN)上加载JS类库。更重要的是,如果用户访问那些发布在Google Code上的站点后它会被缓存下来。 这样做很有意义。有多少站点使用了没有被缓存的相同jQuery副本,而这些很容易做到,引入:
本文原文由作者“司徒正美”发布于公众号“前端你别闹”,即时通讯网收录时有改动,感谢原作者的分享。
领取专属 10元无门槛券
手把手带您无忧上云