网站首页 > 技术教程 正文
Vanilla JS 是一个快速、轻量级、跨平台的JavaScript框架。我们可以用它构建强大的JavaScript应用程序。
介绍
Vanilla JS小巧而符合直觉。
有哪些企业采用了Vanilla JS?很多,很多,下面只是其中最知名的一部分:
- YouTube
- Yahoo
- Wikipedia
- Windows Live
- Twitter Amazon
- MSN
- eBay
- Microsoft
- Tumblr
- Apple
- PayPal
- Netflix
- Stack Overflow
实际上, 使用 Vanilla JS 的网站比使用jQuery、Prototype JS、MooTools、YUI 和 Google Web Toolkit 的网站加起来还要多.
模块化
VanillaJS包括如下模块,下载安装时可以只选择需要的模块,以便提高性能。
- 核心功能
- DOM(遍历/选择器)
- 基于原型的对象系统
- AJAX
- 动画
- 事件系统
- 正则表达式
- 函数作为第一类对象
- 闭包
- 数学库
- 数组库
- 字符串库
开始使用
Vanilla JS是世界上最轻量的javascript 框架(沒有之一),使用我们的产品部署策略,你的用户的浏览器向你的站点发送请求前就已经把Vanilla JS加载在浏览器里了。
使用Vanilla JS只需在应用的HTML里加入这行:
<script src="path/to/vanilla.js"></script>
当你部署你的应用的时候,使用这个更快的方法:
你没看错!没有任何代码,Vanilla JS 太流行了,所有的浏览器在十年前就已经内置了它。
性能比较
看看Vanilla JS到底有多快:
根据ID获取DOM元素
框架代码次数/秒Vanilla JSdocument.getElementById('test-table');12,137,211Dojodojo.byId('test-table');5,443,343Prototype JS$('test-table')2,940,734Ext JSdelete Ext.elCache['test-table']; Ext.get('test-table');997,562jQuery$jq('#test-table');350,557YUIYAHOO.util.Dom.get('test-table');326,534MooToolsdocument.id('test-table');78,802
根据标签名获取DOM元素
框架代码次数/秒Vanilla JSdocument.getElementsByTagName("span");8,280,893Prototype JSPrototype.Selector.select('span', document);62,872YUIYAHOO.util.Dom.getElementsBy(function(){return true;},'span');48,545Ext JSExt.query('span');46,915jQuery$jq('span');19,449Dojodojo.query('span');10,335MooToolsSlick.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>
AJAX请求
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框架(没有之一)!”
- 上一篇: JQuery对象与DOM对象的关系与转换
- 下一篇: REST API 简介 rest.api
猜你喜欢
- 2024-10-13 JQuery对象与DOM对象的关系与转换
- 2024-10-13 那些年我们用过HTML5开发工具 那些年我们用过html5开发工具的人
- 2024-10-13 Web开发者有必要拥有的最新的8款HTML5工具!
- 2024-10-13 怎么真正掌握Web前端技术 Web开发工具有哪些
- 2024-10-13 前端开发新手入门:Web开发工具有哪些?
- 2024-10-13 TypeScript开发中关于jshint的配置详解
- 2024-10-13 14款最佳的Node.js Web框架 node 框架 排行 2019
- 2024-10-13 SSL、TLS拒绝服务攻击 stride 拒绝服务
- 2024-10-13 分享几个值得学习的NodeJS开源框架
- 2024-10-13 Mac上必备的API文档管理工具 Dash For Mac 破解版
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)