Vanilla JS 是一个快速、轻量级、跨平台的JavaScript框架。咱们能够用它构建强大的JavaScript应用程序。javascript
Vanilla JS小巧而符合直觉。html
有哪些企业采用了Vanilla JS?不少,不少,下面只是其中最知名的一部分:java
实际上, 使用 Vanilla JS 的网站比使用jQuery、Prototype JS、MooTools、YUI 和 Google Web Toolkit 的网站加起来还要多.jquery
VanillaJS包括以下模块,下载安装时能够只选择须要的模块,以便提升性能。ajax
Vanilla JS是世界上最轻量的javascript 框架(沒有之一),使用咱们的产品部署策略,你的用户的浏览器向你的站点发送请求前就已经把Vanilla JS加载在浏览器里了。正则表达式
使用Vanilla JS只需在应用的HTML里加入这行:segmentfault
<script src="path/to/vanilla.js"></script>
当你部署你的应用的时候,使用这个更快的方法:api
你没看错!没有任何代码,Vanilla JS 太流行了,全部的浏览器在十年前就已经内置了它。数组
看看Vanilla JS到底有多快:浏览器
框架 | 代码 | 次数/秒 |
---|---|---|
Vanilla JS | document.getElementById('test-table'); |
12,137,211 |
Dojo | dojo.byId('test-table'); |
5,443,343 |
Prototype JS | $('test-table') |
2,940,734 |
Ext JS | delete Ext.elCache['test-table']; Ext.get('test-table'); |
997,562 |
jQuery | $jq('#test-table'); |
350,557 |
YUI | YAHOO.util.Dom.get('test-table'); |
326,534 |
MooTools | document.id('test-table'); |
78,802 |
框架 | 代码 | 次数/秒 |
---|---|---|
Vanilla JS | document.getElementsByTagName("span"); |
8,280,893 |
Prototype JS | Prototype.Selector.select('span', document); |
62,872 |
YUI | YAHOO.util.Dom.getElementsBy(function(){return true;},'span'); |
48,545 |
Ext JS | Ext.query('span'); |
46,915 |
jQuery | $jq('span'); |
19,449 |
Dojo | dojo.query('span'); |
10,335 |
MooTools | Slick.search(document, 'span', new Elements); |
5,457 |
下面是一些常见任务的例子,能够看下Vanilla JS和jQuery的区别:
Vanilla JS
var s = document.getElementById('thing').style; s.opacity = 1; (function fade(){(s.opacity-=.1)<0?s.display="none":setTimeout(fade,40)})();
jQuery
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $('#thing').fadeOut(); </script>
Vanilla JS
var r = new XMLHttpRequest(); r.open("POST", "path/to/api", true); r.onreadystatechange = function () { if (r.readyState != 4 || r.status != 200) return; alert("Success: " + r.responseText); }; r.send("banana=yellow");
jQuery
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $.ajax({ type: 'POST', url: "path/to/api", data: "banana=yellow", success: function (data) { alert("Success: " + data); }, }); </script>
致不敢相信的读者: 请把“Vanilla JS 是世界上最轻量的JavaScript框架(没有之一)”这句话读三遍。若是仍是不信的话,再把下面这句话读三遍:“不管过去、如今仍是将来,Vanilla JS 都是世界上最轻量的JavaScript框架(没有之一)!”