前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vanilla JS——最轻快的JavaScript框架

Vanilla JS——最轻快的JavaScript框架

作者头像
tonglei0429
发布2019-07-22 12:23:05
5.8K0
发布2019-07-22 12:23:05
举报

简介

Vanilla JS团队维护每个字节的代码框架,每天努力工作,以确保它是小的和直观的。使用Vanilla JS是谁?很高兴你发问!他被应用于:

Facebook; Google; YouTube; Yahoo; Wikipedia; Windows Live; Twitter; Amazon; LinkedIn; MSN; eBay; Microsoft; Tumblr; Apple; Pinterest; PayPal; Reddit; Netflix; Stack Overflow

In fact, Vanilla JS is already used on more websites than jQuery, Prototype JS, MooTools, YUI, and Google Web Toolkit - combined.

事实上,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 太流行了,所有的浏览器在十年前就已经内置了它。

性能比较

根据ID获取DOM元素

框架

代码

次数/秒

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

根据标签名获取DOM元素

框架

代码

次数/秒

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

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官网:http://vanilla-js.com/


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 模块化
  • 开始使用
  • 性能比较
    • 根据ID获取DOM元素
      • 根据标签名获取DOM元素
      • 代码示例
        • 淡出元素
          • AJAX请求
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档