vanillaJS是史上最轻量跨平台前端框架 ,我们能够使用它构建强大的JS应用。从过去到以后他都是最轻量的框架

介绍

vanillaJS目前在国外备受推崇,Bootstrap5舍弃了Jquery,选择了它作为基础框架,有哪些知名企业使用了它呢:

  • 字节跳动
  • 百度
  • 阿里巴巴
  • 美团
  • 谷歌
  • facebook
  • github
  • 腾讯 以上只列出了一些耳熟能详的企业,事实上他的应用范围远超你的想象

使用方法

vanillaJS是世界上最轻量的框架,没有之一!使用vanillaJS的部署策略,能够让在用户访问访问你的网站之前就就从内存中读取vanillaJS的资源。 引入方式只需要在html中加入这行script

<script src="path/to/vanilla.js"></script>

当部署在正式环境中,直接把html中的这段引用替换成以下内容

是的你没看错,没有任何代码。因为vanillaJS的广受欢迎,所有的浏览器都已经内置这个框架了!

性能对比

这里有一些对比关于vanillaJS性能指标

通过ID获取元素

框架 代码 次数/秒
vanillaJS 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

通过tag获取元素

框架 代码 次数/秒
vanillaJS document.getElementsByTagName("span"); 8,280,893
Prototype JS Prototype.Selector.select('span', document); 2,940,734
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>

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>

结语

相信因为标题看完这篇文章的人气得想打作者,是的,我也想打他(看到兄弟们智商被侮辱了,我气得想打人)。
在看国外文章的时候总会看到这个框架,然后提到bootStrap5也是基于这个框架,我还以为是啥新框架这么牛,好奇看了一下官网,然后就把官网翻译了一下,是的就是这样!

欢迎关注「前端好好学」,前端学习不迷路或加微信 ssdwbobo,一起交流学习

jq+ajax前端上传多张图片_史上最轻量的前端框架-VanillaJS相关推荐

  1. nginx 上传文件漏洞_文件上传漏洞,解析漏洞总结

    文件上传漏洞.解析漏洞总结 1.文件上传漏洞是什么 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力.常见场景是web服务器允许用户上传图片或者普通文本文件 ...

  2. 后台php微信jssdk上传多张图片,微信JSSDK上传多张图片

    作过微信开发的都知道,在部分android机型里微信不支持网页上传图片的,这是因为这些机型的文件上传存在内存泄漏,会致使微信闪退,因此微信内置浏览器将文件上传屏蔽.这就致使这些机型的用户在使用微信浏览 ...

  3. 利用mysql实现上传和下载_文件上传表单 上传文件的细节 文件上传下载和数据库结合...

    1 文件上传表单 1)上传文件的本质是文本复制的过程 2)技术层面,在Java中一定会用到IO操作,主要以二进制方式读写 3)传统方式下,对于上传文件字段不同的浏览器有着不同的解析方式,例如: IE6 ...

  4. nginx 上传文件漏洞_文件上传及解析漏洞

    注:本文仅供学习参考 文件上传定义: 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行.这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等. 这种攻击方式是最为直接和有效的, ...

  5. 易语言c s 上传多张图片,hbuilder如何上传多张图片?

    这是发送请求的代码: //提交 let task = window.plus.uploader.createUpload(`${apiConfig.config.baseURL}complaint/i ...

  6. nginx 上传文件漏洞_文件上传漏洞小结

    1 概念 上传文件时,服务器端脚本语言,未对上传的文件进行严格的验证和过滤,就有可能上传恶意的脚本文件,从而控制整个网站,甚至是服务器. 2 危害 • 网站被控制,对文件增删改查,执行命令,链接数据库 ...

  7. Element UI 上传一张图片后隐藏上传按钮

    el-upload里面绑定一个占位class: :class="{hide:hideUpload}" data里面初始化: hideUpload: false, limitCoun ...

  8. linux只有上传文件到站点,史上最简单的上传文件到linux系统方法

    史上最简单的上传文件到linux系统方法 工具/原料 linux,windows filezilla 方法/步骤 1 下载 Filezilla client工具,此客户端为免费软件,下载完成后安装,安 ...

  9. Nexus上传jar问题【史上最全,亲测可用】

    很多时候,私服上边很多的jar需要自己上传,就连ojdbc都需要自己上传,平常使用两种方法上传,大概总结了下 第一种方法:(使用Nexus的第三方) 第二种方法:(使用命令上传) mvn deploy ...

最新文章

  1. Linux网络设置2——虚拟机中的Linux和Windows网络互通设置
  2. Java 随心笔记10
  3. 四十八、微信小程序开发系统组件
  4. python千位分隔符_python – 为pandas数据帧中的整数设置千位分隔符
  5. 华为P30系列机身侧面照曝光 摄像头仍然“凸起”...
  6. JS----正则表达式
  7. 超界文字滚动 (id和类型两种实现方式)
  8. 黄河计算机学校,黄河(数学与计算机学院)老师 - 重庆三峡学院 - 院校大全
  9. Graphviz安装配置教程(图文详解)
  10. ArcGIS Desktop10.2与CityEngine2012兼容问题
  11. macbook pro安装JDK
  12. 最新省市区json字符串
  13. 重装服务器系统鼠标键盘用不了,win7重装系统后鼠标键盘不能用怎么办
  14. 直播背后的视频云大战
  15. mysql如何讲ipv6改成ipv4_IPv4 和 IPv6 地址如何转换?
  16. 工控行业学什么编程语言比较好_机器人学中最流行的10种编程语言
  17. java websocket ie8_解决WebSocket兼容ie浏览器版本问题
  18. Edison Chou
  19. android studio模拟器出错,A resource failed to call close
  20. 最适合freshman的Java习题集(三)

热门文章

  1. 67% 为宽松许可证,2020 年开源许可证最新趋势来袭
  2. AI持续赋能,搜狗S1会给录音笔行业带来哪些新变化?
  3. 开源无疆!CSDN 董事长蒋涛、GitHub 副总裁 Thomas Dohmke 即将重磅对话
  4. 告别写笔记,AI 实时转写黑科技来了!
  5. 大数据“重磅炸弹”:实时计算框架 Flink
  6. TIOBE 6 月编程语言排行榜:Python 势不可挡,或在四年之内超越 Java、C
  7. Android 的安全性岌岌可危!
  8. 带你吃透分布式的精髓!
  9. AI 帮程序员找 Bug,一键快速预测
  10. 李彦宏称有信心再赢 Google;京东网易拼团对抗拼多多;支付宝被罚 412 万后整改 | 极客头条...