JavaScript中.min.js和.js文件的区别讲解
Q&A
Q: .js和.min.js文件分别是什么?
A: .js是JavaScript 源码文件, .min.js是压缩版的js文件。
Q:为什么要压缩为.min.js文件?
- 减小体积 .min.js文件经过压缩,相对编译前的js文件体积较小,传输效率快。
- 防止窥视和窃取源代码 经过编码将变量和函数原命名改为毫无意义的命名,以防止他人窥视和窃取 js 源代码
Q:.js 和.min.js文件的优缺点?
.js文件:
优点: 可读性较好,易于debug和更改.
缺点:体积较大,传输时间长
.min.js文件:
优点:体积较小传输快, 源码防窃
缺点:可读性差
Q:如何生成.min.js文件?
使用压缩工具:
Google的在线版本 Javascript Closure Compiler
压缩工具参考list: https://www.jb51.net/article/156179.htm
Q:压缩原理?
- 压缩:删除 js 代码中所有注释、跳格符号、换行符号及无用的空格,从而压缩 JS 文件大小。
- 混淆:经过编码将变量和函数原命名改为毫无意义的命名,删除无用代码,内联函数,等价语句替换等(以防止他人窥视和窃取源码)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
JavaScript"模拟事件"的注意要点详解
DOM中的事件模拟 三个步骤: 首先通过document.createEvent()方法创建event对象,接收一个参数,即表示要创建的事件类型的字符串: UIEvents(DOM3中的UIEvent)鼠标和键盘事件: MouseEvents(DOM3中的MouseEvent)鼠标事件: MutationEvents(DOM3中的MutationEvent)变动事件: HTMLEvents(没有DOM3中对应的事件)HTML事件: 其次在创建了event对象之后,还需要使用与事件有关的信息对其进
-
深入探讨JavaScript的最基本部分之执行上下文
在这篇文章中,我将深入探讨JavaScript的最基本部分之一,即Execution Context(执行上下文). 在本文结束时,你应该对解释器了解得更清楚:为什么在声明它们之前可以使用某些函数或变量?以及它们的值是如何确定的? 什么是执行上下文? JavaScript的执行环境非常重要,当JavaScript代码在行时,会被预处理为以下情况之一: Global code - 首次执行代码的默认环境. Function code - 每当执行流程进入函数体时. Eval code - 要在ev
-
JavaScript之解构赋值的理解
1. ES6的新特性 允许将对象或者数组'分解'成多个单独的值, 以对象的解构开始. 代码示例 2. 说明 1). 定义一个对象 const obj={b:2,c:3,d:4}; 此时系统中没有变量b, 变量c与变量d 2). 开始解构该对象, const {a,b,c} = obj 这句话的意思是, 定义a,b,c三个变量, 然后在obj对象中寻找a,b,c变量, 如果找到, 则赋值给对应的变量 所以, a, 已定义, 但是未赋值. 定义是在const{a,b,c}中定义的, 而没有在obj
-
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
概要 应同学邀请,演示如何使用 PyQt5 内嵌浏览器浏览网页,并注入 Javascript 脚本实现自动化操作. 下面测试的是一个廉价机票预订网站(http://www.flyscoot.com/),关键点如下 使用 QWebEngineView 加载网页,并显示进度. 在默认配置(QWebEngineProfile)中植入 Javascript 内容,这样脚本会在所有打开的网页中执行,不论跳转到哪个网址. Javascript 脚本使用网址中的路径名,判断当前网页位置,从而决定执行哪种操作.
-
Javascript之高级数组API的使用实例
JS中我们可以根据需求新建新的对象解决问题的同时,也有一些常用的内置对象供我们使用,我们称之为API,本篇文章只是对数组部分进行了练习. 例一:伪数组,不能修改长短的数组(所以没办法清零),可以修改元素,代码实现如下: <script> fn(1,2); fn(1,2,3,4,5,6); fn(1,2,4,5,7,9,4); function fn(a,b){ arguments[0]=0; console.log(arguments); arguments.push(1); console.
-
JavaScript中filter的用法实例分析
本文实例讲述了JavaScript中filter的用法.分享给大家供大家参考,具体如下: filter filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素. 和map()类似,Array的filter()也接收一个函数.和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素. 例如,在一个Array中,删掉偶数,只保留奇数,可以这么写: var arr = [1, 2, 4, 5, 6
-
推荐15个最好用的JavaScript代码压缩工具
JavaScript 代码压缩是指去除源代码里的所有不必要的字符,而不改变其功能的过程.这些不必要的字符通常包括空格字符,换行字符,注释以及块分隔符等用来增加可读性的代码,但并不需要它来执行. 在这篇文章中,我们选择了15个最好用的 JavaScript 压缩工具,有简单的在线转换器,GUI工具和命令行界面等. 1. JavaScript Minifier It is a nice looking tool with an API to minify your js code. 2. JSMIn
-
谈谈JavaScript中super(props)的重要性
我听说 Hooks 最近很火.讽刺的是,我想用一些关于 class 组件的有趣故事来开始这篇文章.你觉得如何? 本文中这些坑对于你正常使用 React 并不是很重要. 但是假如你想更深入的了解它的运作方式,就会发现实际上它们很有趣. 开始第一个. 首先在我的职业生涯中写过的super(props) 自己都记不清: class Checkbox extends React.Component { constructor(props) { super(props); this.state = { i
-
JavaScript常用工具方法封装
因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } isNumber (o) { //是否数字 return Object.prototype.toString.call(o).slice(8, -1) === 'Number' } isBoolean (o)
-
JavaScript实现的拼图算法分析
本文实例分析了JavaScript实现的拼图算法.分享给大家供大家参考,具体如下: 学了html5的拖拽事件,相信做出一款小小的拼图游戏也不难吧.就来说一下怎么用drag事件完成拼图游戏吧,当然html5的新方法在IE下是不兼容的.这里我把这个拼图游戏封装成一个小插件,感兴趣的话可以直接copy来用,使用方法很简单. HTML,3个div里面什么都不用写,分别是用来放拼图,参照图,拼图面吧的. <div id="selectpanel"></div> <d
随机推荐
- php简单socket服务器客户端代码实例
- Shell脚本实现上传zip压缩文件到FTP服务器
- jQuery实现布局高宽自适应的简单实例
- 实例讲解iOS应用开发中使用UITableView创建自定义表格
- python xml解析实例详解
- 解读ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性
- JavaScript用JQuery呼叫Server端方法实现代码与参考语法
- .net全局定时定期执行某些操作在Global.asax中具体实现
- PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
- Python获取远程文件大小的函数代码分享
- 精通Javascript系列之数值计算
- 通过rsync+inotify实现数据的实时备份配置
- ASP+XML留言板介绍
- strcat函数与strncat函数的深入分析
- d3.js入门教程之数据绑定详解
- window.open 以post方式传递参数示例代码
- 浅谈apache和nginx的rewrite的区别
- php获取文件类型和文件信息的方法
- 分析 JavaScript 中令人困惑的变量赋值
- Android实现中文按拼音排序方法