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写出了强大的应用程序时,请随时免费使用这个按钮!

  • 相关阅读:
    combobox下拉框只能选择不能编辑
    nginx 虚拟主机
    nginx加密网站
    nginx平滑升级
    http网站加密
    CentOS下网卡启动、配置等ifcfg-eth0教程
    CentOS5.6系统中安装并使用USB无线网卡(配置成功) 转
    【RedHat/Centos】利用iso镜像做本地yum源 转
    centOS6.0 64 位将光盘作为yum源(转)
    Linux安装无线网卡驱动,实现Linux无线上网 转
  • 原文地址:https://www.cnblogs.com/ziyunfei/p/2703044.html
Copyright © 2011-2022 走看看