zoukankan      html  css  js  c++  java
  • [译]Vanilla JS

    Vanilla JSVanillin

    Vanilla JS 是一个快速, 轻量级, 跨平台的框架,
    可以用来构建不可以思议的,强大的JavaScript应用程序.

    介绍

    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

    实际上, 使用 Vanilla JS 的网站比使用jQuery, Prototype JS, MooTools, YUI, 和 Google Web Toolkit的网站的总合还要多.

    下载

    想尝试一下Vanilla JS吗?请选择你需要的功能模块吧!

    总大小: 0 字节(未压缩), 25 字节(gzipped).

    使用评价

    开始使用

    Vanilla JS 团队引以为豪的事实就是,它是世界上最轻量级的框架;使用我们的产品部署策略,用户的浏览器甚至在未发起请求之前就已经将 Vanilla JS 加载到内存中了.

    要想使用Vanilla JS,只需要把下面的代码放到你页面的任意地方:

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

    当你准备把你的程序放到线上环境时,使用这个更快的方法:

    1.  

    对! - 不用任何代码. Vanilla JS 太流行了,以至于所有的浏览器在十年前就已经内置了它.

    速度比较

    下面是一些例子,看看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和其他框架写的常见任务的例子:

    将一个元素淡出

    Vanilla JS var s = document.getElementById('thing').style;
    s.opacity = 1;
    (function(){(s.opacity-=.1)<0?s.display="none":setTimeout(arguments.callee,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的信息:

    当你使用Vanilla JS写出了强大的应用程序时,请随时免费使用这个按钮!

  • 相关阅读:
    通过ajax前端后台交互/登录页和注册页前端后台交互详解/前端后台交互基础应用/几个后台函数的基础应用/php文件函数基础应用/php字符传函数基础应用/php数组函数基础应用
    >>>---PHP中的OOP-->面对过程与面对对象基础概念与内容--(封装、继承、多态)
    基于HBuilder开发手机APP-主页/跳转页面/切换选项卡
    PHP基础学习
    JavaScript学习-js中的数组/Boolean类/字符串String类
    关于gulp中顺序执行任务
    AugularJS从入门到实践(三)
    AugularJS从入门到实践(二)
    用CSS实现响应式布局
    React+ANTD项目使用后的一些关于生命周期比较实用的心得
  • 原文地址:https://www.cnblogs.com/ziyunfei/p/2703044.html
Copyright © 2011-2022 走看看