js-astcompressor-prototype

AST 压缩原型
授权协议 Apache
开发语言 JavaScript
所属分类 应用工具、 压缩、解压缩
软件类型 开源软件
地区 不详
投 递 者 年风华
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

js-astcompressor-prototype 是调查二进制 AST 表现方式的研究原型。此项研究能发现压缩后大小、压缩前大小、复杂度与解码速度之间的最佳平衡。

示例代码:

(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
    define(['exports'], factory);
  } else if (typeof exports !== 'undefined') {
    factory(exports);
  } else {
    factory((root.asmExpressionChain = {}));
  }
}(this, function (exports) {
  var BinaryPrecedences = ([
    ["*", "/", "%"],
    ["+", "-"],
    ["<<", ">>", ">>>"],
    ["<", "<=", ">", ">=", "in", "instanceof"],
    ["==", "!=", "===", "!=="],
    ["&"], ["^"], ["|"], ["&&"], ["||"]
  ]).map(function (p) {
    var result = Object.create(null);
    for (var i = 0, l = p.length; i < l; i++)
      result[p[i]] = true;
    return result;
  });
  • ESLint 的 no-prototype-builtins 规则 解决问题 最近在开发中遇到一个 ESLint 规则问题: obj.hasOwnProperty('key') ESLint 给出错误提示: Do not access Object.prototype method 'hasOwnProperty' from target object. eslint(no-prototype-

  • 在ECMAScript 5.1中,新增了 Object.create,它支持使用指定的 [[Prototype]] 创建对象。Object.create(null) 是一种常见的模式,用于创建将用作映射的对象。当假定对象将包含来自Object.prototype 的属性时,这可能会导致错误。该规则防止直接从一个对象调用某些 Object.prototype 的方法。 此外,对象可以具有属性,这些属

  • 将 permissionsList.hasOwnProperty(permission) 改为 Object.prototype.hasOwnProperty.call(permissionsList, permission)

  • 轩脉刃de刀光剑影 -正确的时间经历正确的事情 JS中的prototype 2011-06-03 14:40 by 轩脉刃, 64571 阅读, 40 评论, 收藏, 编辑 JS中的phototype是JS中比较难理解的一个部分   本文基于下面几个知识点:   1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A

  • JavaScript是基于对象的,任何元素都可以看成对象。然而,类型和对象是不同的。本文中,我们除了讨论类型和对象的一些特点之外,更重要的是研究如何写出好的并且利于重用的类型。毕竟,JavaScript这种流行的脚本语言如果能够进行良好的封装,并形成一个庞大的类型库,对于重用是非常有意义的。 网上对于prototype的文章很多,一直没明白核心的思想。最后写了很多例子代码后才明白:prototyp

  • compress JS net : http://dean.edwards.name/packer/ http://developer.yahoo.com/yui/compressor/   downLoad address: http://yuilibrary.com/downloads/#yuicompressor     YUI Compressor 是一个用来压缩 JS 和 CSS 文件的

  • //给所有的对象增加方法 Function.prototype.addMethod=function(methodName,func){ this.prototype[methodName]=func; return this; } //给数字添加取整的方法 Number.addMethod("intValue",function(){ return Math[this<0

  • 要学好JavaScript,有几个基本概念必须搞清楚:prototype,executing,context,closure。 Prototype  在JavaScript语言中,通常使用Prototype来实现OO。在这里,我们不对JavaScript的OO实现进行过多的探讨,着重来看一下JS中对象的内存模型。在开始之前,需要先明确以下几点:  1. JS中,存在以下几种数据类型:string,

  • http://www.cnblogs.com/mindsbook/archive/2009/09/19/javascriptYouMustKnowPrototype.html function myClass() {     //此处相当于构造函数     this.ID = 1;     this.Name1 = this.Name;     this.showMessage(); } myCl

  • 非常重要的学习站点 http://www.aspxhome.com/chm/prototype/index.htm

  • ====================================================== 注:本文源代码点此下载 ====================================================== 3.2. 使用 ajax.updater 类 如果你的服务器的另一端返回的信息已经是html了,那么使用这个程序包中 ajax.updater 类将使你的生

  • prototype.js是对原生对象的功能增强,多是扩充原生对象。 jquery.js是对原生语句的封装,多是构建自己的对象。

  • JavaScript中也有对象的概念,也有new关键字,可以通过构造器新建对象,但在没有new的时候,是人们是如何创建对象的呢? 我们知道V8引擎中每一个对象包含一个属性__proto__,这个属性称为对象的原型,而这个属性也是一个对象,也可能会有__proto__属性,这也是原型链的实现方式,在进行xx.yy()时,会先寻找xx内是否含有yy属性,如果没有则会沿着原型链向上查找,直至原型链最后一

  • /**  * 定义一个全局对象, 属性 Version 在发布的时候会替换为当前版本号  */ var Prototype = {  Version: '@@VERSION@@' } /**  * 创建一种类型,注意其属性 create 是一个方法,返回一个构造函数。  * 一般使用如下  * var X = Class.create(); 返回一个类型,类似于 java 的一个Class实例。

  • function Person(name,sex) {  //Person类的构造函数       this.name = name;       this.sex = sex;   }   Person.prototype.age = 12;   //为Person类的prototype属性对应的prototype对象的属性赋值,                                /

  • JavaScript是基于对象的,任何元素都可以看成对象。然而,类型和对象是不同的。本文中,我们除了讨论类型和对象的一些特点之外,更重要的是研究如何写出好的并且利于重用的类型。毕竟,JavaScript这种流行的脚本语言如果能够进行良好的封装,并形成一个庞大的类型库,对于重用是非常有意义的。 网上对于prototype的文章很多,一直没明白核心的思想。最后写了很多例子代码后才明白:prototyp

  • JS中的phototype是JS中比较难理解的一个部分   本文基于下面几个知识点:   1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。   2 javascript的方法可以分为三类: a 类方法 b 对象方法 c 原型方法 例子: function Peopl

  • 原型prototype <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--原型prototype--> <!--我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype--> <!--这个属性对应着一个对象,这个

  • this this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window; 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用。 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: console.log(this === window); // true co

 相关资料
  • 一、压缩 js /* webpack.config.js webpack的配置文件 */ module.exports = { ………… //模式 development 开发环境,production 生产环境 //mode: 'development', //生产环境下会自动压缩js代码 mode: 'production' ……

  • 请务必理解如下章节后阅读此章节: 安装 Node 和 gulp 访问论坛获取帮助 压缩 js 代码可降低 js 文件大小,提高页面打开速度。在不利用 gulp 时我们需要通过各种工具手动完成压缩工作。 所有的 gulp 代码编写都可以看做是将规律转化为代码的过程。 规律 找到 js/ 目录下的所有 js 文件,压缩它们,将压缩后的文件存放在 dist/js/ 目录下。 gulp 代码 你可以 下载

  • 本文向大家介绍JS 图片压缩原理与实现方法详解,包括了JS 图片压缩原理与实现方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS 图片压缩原理与实现方法。分享给大家供大家参考,具体如下: 前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS

  • 本文向大家介绍js源代码压缩都有哪些方法?它们的压缩原理分别是什么?相关面试题,主要包含被问及js源代码压缩都有哪些方法?它们的压缩原理分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 方法 1.在线工具 2.webpack 原理 1.删除注释 2.变量名方法名字符精减

  • tar [-]c|x|u|r|t[z|j][v] -f 归档文件 [待打包文件] 将多个文件打包为一个归档文件,可以在打包的同时进行压缩。支持的格式为 tar(归档)、gz(压缩)、bz2(压缩率更高,比较耗时) 操作选项 -c 创建 -x 解包 -u 更新 -r 添加 -t 查看 -d 比较压缩包内文件和文件 -A 将 tar 文件添加到归档文件中 格式选项 -z 使用 gz 压缩格式 -j 使

  • Tango拥有一个默认的压缩中间件,可以按照扩展名来进行文件的压缩。同时,你也可以要求某个Action自动或强制使用某种压缩。比如: type CompressExample struct { tango.Compress // 添加这个匿名结构体,要求这个结构体的方法进行自动检测压缩 } func (CompressExample) Get() string { return f