大家好,很高兴又见面了,我是"前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
今天给大家带来的是世界上最强大的JS库,Vanilla JS!话不多说,直接开始!
Vanilla 发音为/vəˈnɪlə/,中文表示香草、普通的意思。而 Vanilla JavaScript 指的是使用纯 Javascript,没有任何额外的库或框架。 当 Eric Wastl 在 2012 年创建 Vanilla JS 网站时,这个词变得逐渐流行起来。 该站点试图传达一个事实:即在许多情况下可以只使用普通的 Javascript。
学习 Vanilla JS 意味着学习 JavaScript 的基础知识。 虽然框架和库有助于抽象和简化 JavaScript 的某些功能,从而使编写代码更快、更容易。 但从长远来看,重要的是了解 JS 的基础知识,以便能够更快地学习新框架、以及通过专业的判断来决定是否使用某一个框架。
从技术实现上看,Vanilla JS 是一个快速、轻量级、跨平台的框架,用于构建令人难以置信的、强大的 JavaScript 应用程序。
目前使用 vanilla JavaScript 网站包括:腾讯、百度、微软、阿里、字节、Facebook、Google、YouTube、Yahoo、Wikipedia、Windows Live、Twitter、Amazon、LinkedIn、MSN、eBay、Microsoft、Tumblr、Apple、Pinterest、PayPal、Reddit、Netflix、Stack Overflow 等等。
这是初学者最常问的问题,当已经有那么多其他强大的框架和库可用时,为什么他们还要选择学习 vanilla Js 并在项目中使用它。选择 vanilla js 有以下几个重要的原因:
在 Web 性能方面,Vanilla JS 比许多其他框架和库要好得多,因为框架常常是前端研发中最昂贵和最重要的部分。国外关于 React、 Preact、 vanilla JS 的相关数据统计表明(统计标准参考文末资料):
Vanilla js 保证了用户友好的开发体验。在使用 JavaScript 开发应用程序或网站时,开发人员只需打开文本编辑器即可开始编码。 无需执行 npm install、编译步骤、构建等麻烦的步骤。
npm install third-part-lib// 安装三方库
如果开发人员仍想使用任何其他框架,那么使用它们也会更加容易,减少初始使用框架时候的学习成本。vanilla JS 还包括以下重点特性:
当 Vanilla JS 和其他框架同时执行 100 次操作时的数据如下:
jQuery 代码如下:
var htmlElement = $('#id')[0];
Vanilla JS 代码如下:
var htmlElement = document.getElementById('id');
jQuery 代码如下:
$.ajax({ type: 'GET', url: <url>, data: <data>});
Vanilla JS 代码如下:
fetch(<url>, { method: 'GET', body: <data>});// IE 兼容var get = new XMLHttpRequest();get.open('GET', <url>, true);get.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');get.send(<data>);
jQuery 代码如下:
$(<htmlElement>).hover(<eventHandlerMouseIn>, <eventHandlerMouseOut>)
Vanilla JS 代码如下:
<htmlElement >.addEventListener('mouseenter', <eventHandlerMouseIn >); <htmlElement >.addEventListener('mouseleave', <eventHandlerMouseOut>);</eventHandlerMouseOut></htmlElement ></eventHandlerMouseIn ></htmlElement>
读到这里,不知道大家有没有明白Vanilla JS到底是什么?我去搜索了一圈,发现了一个Github的Topic,它是这样说的:
Vanilla JavaScript is the native JavaScript language included in the browser and standardized/maintained by ECMA International and W3C.
翻译过来就是:
Vanilla JavaScript 是浏览器中包含的原生 JavaScript 语言,由 ECMA International 和 W3C 标准化/维护。
震惊了,说了半天原来是原生JavaScript!那确实是由W3c维护的,没错呀!不过这个概念确实就是一个笑话,这也和国内大多数技术博主的感觉是一样的。为了防止漏掉Vanilla JS这个好东西,然后学了这个笑话。大家不喜欢,记得别喷我,我也是受害者。不过我就当学习了一个单词Vanilla,大家别忘了发音。
https://www.carrentalgateway.com/glossary/vanilla-javascript/
https://www.javatpoint.com/what-is-vanilla-javascript
https://github.com/MachinisteWeb/vanilla-js-dom
https://gomakethings.com/just-how-much-faster-is-vanilla-js-than-frameworks/