07 2021 档案
摘要:推入任务队列后的时间不准确 定时器代码: setInterval(fn(), N); 上面这句代码的意思其实是fn()将会在 N 秒之后被推入任务队列。 所以,在 setInterval 被推入任务队列时,如果在它前面有很多任务或者某个任务等待时间较长比如网络请求等,那么这个定时器的执行时间和我们预
阅读全文
摘要:1. 文件转 Base64 在大规模使用 FileSystem接口之前,前端读取文件主要靠 input[type='file'] 元素。开发者通常会随手创建一个 FileReader 实例来读取文件,用完之后随即抛弃之,不得不说真是无情。实际上这个实例是可以复用起来的: /** * @method
阅读全文
摘要:实参和形参 在解释默认函数参数之前,重要的是要知道参数的默认值是什么。所以我们先回顾函数中实参和形参之间的区别。 在下面的代码中,我们创建一个函数,该函数返回一个给定数的立方: function cube(x) { return x * x * x } 此示例中的x变量是一个参数-传递给函数的命名变
阅读全文
摘要:拖拽属于前端常见的功能,很多效果都会用到js的拖拽功能。滑动条的核心功能也就是使用js拖拽滑块来修改位置。一个完整的滑动条包括 滑动条、滑动痕迹、滑块、文本 等元素,先把html代码写出来,如下所示: <div class="bar_wrap" id="wrap"><!--外包裹元素--> <div
阅读全文
摘要:手写Promise实现过程 1、实现Promise的核心功能 2、判断下当执行器里面时异步代码时的回调函数调用情况 3、then方法多次调用的情况 4、then方法的链式调用,以及如何把then方法的返回值传递到下一个then方法中,再判断返回值是普通值还是peomise对象进而进一步处理 5、判断
阅读全文
摘要:前言 在浏览一些图片网站的时候,经常会看到很多的漂亮的星空图,比如,下面的图片。其实这种星星图片的效果,也可以通过html+css样式和js的方式来实现。今天教大家如何实现星星图的效果。 实现的目标 每次刷新产生随机的星星个数。显示画布上。 项目实现 1. 创建canvas画布 <body> <ca
阅读全文
摘要:一、构造函数 构造函数模式的目的就是为了创建一个自定义类,并且创建这个类的实例。构造函数模式中拥有了类和实例的概念,并且实例和实例之间是相互独立的,即实例识别。 构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。另外就是调用方式的不同,普通函数是直接调用,而构
阅读全文
摘要:关于nvm 我们可在同时进行多个项目时,可能会出现不同项目所使用的node版本是不一样的情况,或者需要使用其他版本node进行测试。在面临这种情况时,我们就可以使用nvm解决管理多个node版本的问题,它可以方便的在同一台设备上进行多个node版本之间切换,注意:如果您之前单独安装了node,建议先
阅读全文
摘要:开始引入类型 花了 10 个小时使用 console.log 排查问题后,你终于修复了 Cannot read property 'x' of undefined 问题,出现这个问题的原因是调用了可能为 undefined 的某个方法,给了你一个「惊喜」!你暗暗发誓,一定要把整个项目迁移到 Type
阅读全文
摘要:由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配。JavaScript程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样动态地分配了内存,最终都要释放这些内存以便他们能够被再用,否则,JavaScript的解释器将会消耗完系统中所
阅读全文
摘要:html5从一开始就给开发者很多的期待,提供众多新的API,不用再想以前一样,为了实现某个功能写很多的代码。在以前,如果要实现图片预览会怎么做呢,因为为了安全的原因,web端的js是不能读取文件的本地真实路径的,那么只能将图片上传到服务器上,然后再拿到图片的链接,这样才能实现图片预览。而服务器呢,比
阅读全文
摘要:表单一点击提交按钮(submit)必然跳转页面,如果表单的action为空也会跳转到自己的页面,即效果为刷新当前页。 如下,可以看到一点击提交按钮,浏览器的刷新按钮闪了一下,如果想要阻止表单的默认提交事件,有以下几种方法: 1.将<input>标签内按钮类型从type="submit"修改为type
阅读全文
摘要:向网页中嵌入视频 <video> 标签可以用于定义视频,且提供了播放、暂停、音量控件来控制视频。举个例子,像我们侠课岛网站上,课程视频播放,就是通过 <video> 标签来实现的。下面我们来看一下如何向网页中嵌入一个视频。 示例: 首先我们准备一个视频,例如一个 test.mp4,然后使用 <vid
阅读全文
摘要:css为html标记语言提供了一种样式描述,定义了其中元素的显示方式。下面我们来看一下css如何设置文本超出几行显示省略号。 css设置超出几行显示省略号: 1、单行文本 使用text-overflow:ellipsis属性 text-overflow: clip|ellipsis|string;
阅读全文
摘要:功能测试: 一、链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转:当发现页面显示内容与用户需求不一致时,就是一个bug。 链接测试:测试所有链接是否按指示的那样确实链接到了该链接的页面; 测试所链接的页面是否存在; 只有输入正确的url地址才能访问 1.链接是否按照既定指
阅读全文
摘要:font-size:字体大小 说明 用于设置字号,属性的值推荐使用像素单位px或者em px是像素单位,em是相对单位 语法 {font-size:12px;} 注意 属性值为数值型时,必须给属性值加单位,属性值为0时除外。 单位还可以是1em ,根据父元素值来确定; font-family:字体
阅读全文
摘要:一、什么是两列布局 两列布局分为两种,一种是左侧定宽、右侧自适应,另一种是两列都自适应(即左侧宽度由子元素决定,右侧补齐剩余空间)。在css面试题里面属于常考题,也是一个前端开发工程师必须掌握的技能,下面将分别介绍实现方式。 二、左侧定宽、右侧自适应如何实现? 1.双inline-block 原理:
阅读全文
摘要:多语言版静态网页,通常都是先做一个语言的网页,比如中文版,或英文版,然后找人翻译成另一种语言,最后合作一起,上传到网页服务器。 这种方法,在后续的改动时,往往容易改了一个语言的网页、遗漏了另一个语言的网页更改;或者翻译多语言时,一不小心误删除了某个网页的某个部分,或者多键入了无关的字符,造成多个语言
阅读全文
摘要:在之前某一个前端技术群里,有一个群友说他面试的时候遇到了一个问题,就是面试官让他用纯 css 来实现一个根据鼠标移动位置觉得物体移动方向的 DEMO。 给出的初始结构如下: <style>body { padding: 2em; text-align: center;}.block { positi
阅读全文
摘要:优秀的网站要对用户的互动做出反应。做到这一点的一个很好的方法就是对有人向下滚动你的页面做出反应。 除了视差组件和滚动事件外,添加响应式触摸的一种好方法是使元素在滚动视图时淡入。 在本技巧中,将介绍如何使用滚动事件和css转换在vue3中实现此功能。 这是我们将学习如何在本教程中进行构建的屏幕截图。
阅读全文
摘要:生活中有很多事情是低效益,重复性。比如每天上某些网站,先登录再签到打卡,比如每隔一段时间清理回收站的文件等等。一个成熟的软件工程师应该想到用软件解决他。 对于这些简单的小任务,一般用脚本实现。比如Python脚本或者JavaScript脚本等等,不过还得装运行环境。如果能在电脑上直接用就好了,那么有
阅读全文
摘要:本节我们学习 Less 中的嵌套,嵌套应该很容易理解,html 语言中就支持标签的嵌套。我们在使用 css 时,如果想要为多层嵌套的元素设置样式,要么给元素加上一个类选择器或ID选择器,要么使用后代选择器。例如: .xkd{ font-size: 14px; } .xkd p{ line-heigh
阅读全文
摘要:每次滚动到元素时,都显示加载动画,如何添加? 元素添加初始参数 以上图中的动画为例,添加俩个左右容器,将内容放置在容器内部。 添加初始数据,默认透明度0、左右分别移动100px。 //左侧容器 .item-leftContainer { opacity: 0; transform: translat
阅读全文
摘要:现在,Safari(技术预览版106)和Firefox(版本78)的预览版均支持新的css :is() 和 :where() 伪类。 Chrome的实施仍然落后。 使用 :is() 减少重复 你可以使用 :is() 伪类来删除选择器列表中的重复项。 /* BEFORE */ .embed .save
阅读全文
摘要:一 . 安装 在命令行中执行: 使用npm或者cnpm安装 npm install animate.css --save 或 cnpm install animate.css --save 使用yarn安装 yarn add animate.css 二. 引入 在main.js全局引入 import
阅读全文
摘要:1、call函数封装实现 // 手写call函数 function call(Fn,obj,...arg){ // 如果obj为null或者undefined,则指向window if(obj undefined || obj null){ // globalThis是ES11的新特性,指向全局 o
阅读全文
摘要:基本概念 Context是 react中为了避免在不同层级组件中逐层传递props的产物,在没有Context的时候父组件向子组件传递props属性只能在组件树上自上而下进行传递,但是有些属性并不是组件树的每层节点都有相同的需求,这样我们再这样逐层传递props就显得代码很繁琐笨重。 使用react
阅读全文
摘要:首先本人通过一个案例来展示jQuery的链式编程风格。先写一个页面,展示一个列表,代码如下: <body> <div> <ul class="menu"> <li class="level1"> <a href="#">水果</a> <ul class="level2"> <li><a href="
阅读全文
摘要:ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,正式发布与2015年6月。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 ECMAScript 6,即所谓的现代Javascript,具有强大的功能,例如块作用域
阅读全文
摘要:1:变量与属性 以下代码输出什么: const object = { message: 'Hello, World!', getMessage() { const message = 'Hello, Earth!'; return this.message; }};console.log(objec
阅读全文
摘要:前言 二叉树(Binary Tree)是一种树形结构,它的特点是每个节点最多只有两个分支节点,一棵二叉树通常由根节点、分支节点、叶子节点组成,如下图所示。每个分支节点也常常被称作为一棵子树,而二叉堆是一种特殊的树,它属于完全二叉树。 二叉树与二叉堆的关系 在日常工作中会遇到很多数组的操作,比如排序等
阅读全文
摘要:1. 图形平移 首先我们来看如何实现图形的平移操作。 平移的操作就是将图形的原始坐标加上对应的移动距离。首先来看下平移的实现 const vertexShaderSource = "" + "attribute vec4 apos;" + // 定义一个坐标 "uniform float x;" +
阅读全文
摘要:背景 这两天做 Code Review 的时候, 发现很多 if-else / switch 语句,并不是特别优雅。 在一些逻辑复杂的地方,看起来比较臃肿, 不是那么好读。 举个例子: function getTranslation(rhyme) { const lowercasedRhyme =
阅读全文
摘要:防抖和节流的本质 都是闭包的形式存在的. 他们通过对事件的回调函数进行包裹、以保存自由变量的形式来缓存时间信息,最后使用 setTimeout 来控制事件的触发频率。 节流:第一个人说了算 节流(Throttle)的中心思想在于:在某段时间内不过你触发了多少次,我都只认第一次,并且在计时结束时给出响
阅读全文
摘要:原简单的滚动轮播代码 <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-widt
阅读全文
摘要:我们学习 html 的时候学过一些用于字体加粗、倾斜的标签,但是使用标签来实现的效果肯定没有我们通过 css 中的样式来的方便。 接下来我们会给大家介绍下面这几个属性的使用: 属性描述 font-family 设置元素的字体 font-size 设置字体的大小 font-style 设置字体的风格
阅读全文
摘要:狸猫换太子 北宋真宗时,有李妃和刘妃两位小主都有了龙种,谁生了儿子,谁就能豪横。谁曾想刘妃不是个善茬,把剥了皮的狸猫换了李妃刚生完的孩子。天可怜见,执行任务的宫女人性未泯,将孩子送往八贤王处抚养,这才引出后来,包拯陈州放粮救李妃,仁宗认母家团圆。那位说了,好好的谈装饰器模式这怎么说上故事了。各位看官
阅读全文
摘要:一、什么是BFC? BFC是页面上的独立渲染区域 二、BFC产生规则 1、根标签(body) 2、float的值不为none 3、overflow的值不为visible 4、display的值为inline-block 5、position的值为absolute或fixed 三、BFC的特性 1、垂
阅读全文
摘要:1. svg 文件模板 SVG 的相关知识可以在 SVG | MDN (mozilla.org) 学习。为了生成完整的 svg 文件,为其准备了一个文件模板字符串: // svg 文件模板 const svgTemplate = `<svg xmlns="http://www.w3.org/2000
阅读全文
摘要:css背景缩写属性可以在一个声明中设置所有的背景属性,css背景图像支持引入多个图像. 主要属性有:background-color,background-image,background-repeat,background-position,background-attachment,backgr
阅读全文
摘要:Mac OS 系统上,在获得焦点程序的周边,有一层浅灰色外阴影,使得应用程序看起来略带立体感;其阴影渐进变淡,与背景色融合在一起,也使得看起来流畅自然,不突兀。在一些优质博文中,所搭配的图片,也经常能看到这样的设计,增色不少。那如何为文章图片,添加好看的外阴影效果呢?本文即对此做出一些探讨。 对于这
阅读全文
摘要:XML概述: XML英文全写为eXtensible Markup Language(称之为 可拓展的标记语言),它是由W3C制定出来的一套关于 数据传输,使传输的数据内容统一 的规范;它是跨平台并且与软硬件无关的工具,开发中经常用于去配置文件。 解析XML的几种方式: XML的解析方式分为四种:DO
阅读全文
摘要:fillStyle 属性设置或返回用于填充绘画的颜色、渐变或模式。 浏览器支持 Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 fillStyle 属性。 注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元
阅读全文
摘要:用一个css属性创建一个响应式网站,让我们来看看它是如何做到的。以这个模板为例,没有应用css属性。 使用 clamp() CSS函数,我们可以创建仅具有一个属性的响应式网站。 现在添加魔术CSS clamp(minimum, preferred, maximum); 在这里!你已经完成了 http
阅读全文
摘要:前端模块化 JavaScript 在早期的设计中就没有模块、包甚至类的概念,虽然 ES6 中有了 class 关键字,那也只是个语法糖。随意随着项目复杂度的增加,开发者必然需要模拟类的功能,来隔离、封装、组织复杂的 JavaScript 代码,而这种封装和隔离,也被被我们称之为模块化。 模块就是一个
阅读全文
摘要:在项目开发的过程中,基于有限的时间内保质保量的完成开发任务无疑是一场挑战。在这场挑战中我们不但要快速处理自己的问题,还需要与别人协同合作,以避免两者之间的冲突。 针对于大型项目的开发,css 如何组织和管理才能让我们用更少的时间写出更强大的功能。这篇文章来表述一些我对 css 组织和管理的理解。当然
阅读全文
摘要:微前端开发常见问题汇总,前端应用可以独立运行、独立开发、独立部署。微前端不是单纯的前端框架或者工具而是一套架构体系。其在开发中会有各种问题,今天小编整理了一下分享给大家! 1、微前端只是Web端 为什么只是Web?到目前为止我们接触到的主要是Web,但其概念和想法可以应用于任何类型的应用程序(移动应
阅读全文
摘要:一、概念 1、什么是 UUID UUID 的全称是 Universally Unique Identifier,中文为通用唯一识别码。 构成:由一组32位数的16进制数字所构成。 格式:以连字号分为五段,表现形式为8-4-4-4-12的32个字符,如下所示: xxxxxxxx-xxxx-Mxxx-N
阅读全文
摘要:方式一:使用i5ting_toc插件 需要先安装npm(安装node.js后会自带npm),然后才能安装i5ting插件: npm install i5ting_toc -g 执行命令行生成html文件,在输入前要进入到对应根目录下: i5ting_toc -f **.md 需要注意的是:写md文档
阅读全文
摘要:一、项目背景 SVG 表示可伸缩矢量图形,这是一门用于描述 2D 图形的语言,图形应用使用 XML 编写,然后 XML 由 SVG 阅读器程序呈现。支持三种类型的图形对象:矢量图形形状(例如,由直线和曲线组成的路径),图像和文本。图形对象可以进行分组,样式设置,转换和合成。功能集包括嵌套转换,剪切路
阅读全文
摘要:语法 假设有一个getjsON方法,它返回一个promise,该promise会被resolve为一个jsON对象。我们想要调用该方法,输出得到的JSON对象,最后返回"done"。 以下是使用promise的实现方式: const makeRequest = () => getJSON() .th
阅读全文
摘要:添加/删除元素 push() 数组末端添加元素 let arr = ['JavaScript', 'css']; alert( arr.push('html') );// 3 alert( arr );// JavaScript, css, html pop() 移除并返回数组最后一个元素 let
阅读全文
摘要:01-随机获取布尔值 此函数将使用Math.random()方法返回布尔值(真或假)。Math.random创建一个介于0和1之间的随机数,然后我们检查它是否大于或小于0.5。这意味着有50/50的机会会得到对或错。 const getRandomBoolean = () => Math.rando
阅读全文
摘要:1.Jquery的实现: /** * 倒计时 * e 代表发送按钮对象 */function resetTime(e){ var second = 60; var timer = null; timer = setInterval(function(){ second -= 1; if(second
阅读全文
摘要:substring()方法 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 参数 描述 start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 s
阅读全文
摘要:1、JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; function rainman(){ var man = 2; function inner(){ var innerVar = 4; alert
阅读全文
摘要:思想 快速排序的基本思想是选择数组中的一个元素作为关键字,通过一趟排序,把待排序的数组分成两个部分,其中左边的部分比所有关键字小,右边的部分比所有关键字大。然后再分别对左右两边的数据作此重复操作,直到所有元素都有序,就得到了一个完全有序的数组。 来看一个例子,以数组[4, 5, 2, 7, 3, 1
阅读全文
摘要:1. 利用对象的 key 唯一 众所周知,对象的key不可重复,否则后者将覆盖前者。利用该特性,实现数组去重,遍历数组,将数组的每一项做为对象的key值 let obj = {}; for (let i = 0; i < arr.length; i++) { let item = arr[i] if
阅读全文
摘要:1. JavaScript的完整性检查 作为一个前端开发者,你可能已经使用**< script >**标签来导入第三方库。你想过这样做的安全风险吗?如果第三方资源被篡改了怎么办?是的,当你在你的网站上渲染外部资源时,这些事情都可能发生。因此,你的网站可能会面临一个安全漏洞。作为对此的安全措施,你可以
阅读全文
摘要:继承的7种方式 原型链继承构造函数继承组合继承原型式继承寄生式继承寄生组合式继承Es6 class extends 继承 原型链继承: 将父亲的实例作为孩子的原型. 优点: 父亲的方法可以被子类复用 缺点: 父类的所有属性都会被子类进行共享, 更改了一个子类的属性, 其他的子类的属性也一起变了. 子
阅读全文
摘要:一、Map Map可以用来存储键值对,在一定程度上扩展了Object的内容。 1. Map的基本API 创建新的Map实例 // 创建一个空映射 let map = new Map() // 传入一个包含键值对组的可迭代对象, // 传入的可迭代对象会按顺序插入到新的map实例里 let arr =
阅读全文
摘要:1. eval函数有什么用? 调用eval函数,可以将其参数作为JavaScript程序进行解释。换句话说,eval可以把它的参数当做代码 来执行。 例子 function f(x) { eval('var y=x'); console.log('y:', y); } f('hello');//y:
阅读全文
摘要:发布 首先需要制作一个package.json文件,可以通过npm init命令根据提示生成一个package.json文件。 这是已经发布好的package.json文件,作为示例,需要注意的是name字段、publishConfig字段与repository字段的配置,在GitHub Packa
阅读全文
摘要:1.CSS Subgrid CSS 网格是一个灵活的布局模块,允许开发人员创建复杂的布局,无需使用JavaScript或使用复杂的 CSS hack。 使用 CSS 网格的语法很简单,如下所示: .grid-container { display: grid; } 可以使用几个特定于网格的属性来设置
阅读全文
摘要:一、这个问题怎么解决呢? 简单点,使用一个lock标记,在请求发出时上锁,上锁后就不可以再发请求,可以在请求结束后解锁: let clickButton = (function () { let lock = false return function (postParams) { if (lock
阅读全文
摘要:<img /> 标签的基本使用 浏览器支持 所有主流浏览器都支持 <img> 标签 标签定义及使用说明 <img> 标签定义 html 页面中的图像 <img> 标签有两个必需的属性:src 和 alt 强烈推荐在开发中每个图像中都使用 alt 属性。这样即使图像无法显示,用户还是可以看到关于丢失了
阅读全文
摘要:一、 概念介绍 1. File (1) 通常情况下, File 对象是来自用户在一个 input 元素上选择文件后返回的 FileList 对象,也可以是来自由拖放操作生成的 DataTransfer 对象,或者来自 htmlCanvasElement 上的 mozGetAsFile() API。
阅读全文
摘要:正则表达式不要背 正则表达式一直是困扰很多程序员的一门技术,当然也包括曾经的我。大多数时候我们在开发过程中要用到某些正则表达式的时候,都会打开谷歌或百度直接搜索然后拷贝粘贴。当下一次再遇到相同问题的时候,同样的场景又再来一遍。作为一门用途很广的技术,我相信深入理解正则表达式并能融会贯通是值得的。所以
阅读全文
摘要:什么是AVIF,它如何工作? AVIF是从开放媒体联盟(AOM)开发的如今流行的视频格式AV1的关键帧中提取的。 AOM开发AVIF的目的是提供免版税的图像,与现有的图像格式相比,具有更好的压缩效率和更多的功能支持。 AVIF现在有来自Google,Netflix和Apple等大公司的支持者。 为什
阅读全文
摘要:为什么要进行图片懒加载 我们先来看一下页面启动时加载的图片信息。 如图所示,这个页面启动时加载了几十张图片(甚至更多),而这些图片请求几乎是并发的,在 Chrome 浏览器,最多支持的并发请求次数是有限的,其他的请求会推入到队列中等待或者停滞不前,直到上轮请求完成后新的请求才会发出。所以相当一部分图
阅读全文
摘要:引言 书写页面样式与布局是前端工程师Coding 中必不可少的一项工作,在定义页面元素的样式时,padding 属性也是经常被使用到的。 padding 属性用于设置元素的内边距,其值可以是length、inherit,当然也可以是百分比。 今天为什么会聊到padding-top设置百分比时的参考对
阅读全文
摘要:想法是使 <textarea> 更像 <div>,因此它的高度可以扩展以包含当前值。这几乎是奇怪的,没有一个简单的原生解决方案,不是吗? 现在我得到了一个非常好的原生解决方案。 这里是演示,如果你只是想要一个工作的例子 html <h1>Auto-Growing <code><textarea
阅读全文
摘要:下雪效果只是一类效果的名称,可以是红包雨等一些自由落体的运动效果,本文就是用纯css模拟下雪的效果,更多效果大家可以自行发挥。 1.前言 由于公司产品的活动,需要模拟类似下雪的效果。浏览器实现动画无非css3和canvas(还有gif),对比下css3和canvas的优缺点: 动画自由度:canva
阅读全文
摘要:一、如何使用CSS 要想使用Css来增加Html的美观,有三种方式: 1).头部文件中定义 <style> 标签的Css属性 </style> 2).导入CSS文件 #创建一个Css文件,里面写入样式,然后导入 <link rel="stylesheet" type="text/Css" href=
阅读全文
摘要:1. 文件压缩 文件压缩,可以减少网络传输的字节数。有几种压缩算法。Gzip是最流行的,但是对于Brotli,你可以使用一种更新的、甚至更好的压缩算法。如果想检查您的服务器是否支持Brotli,可以使用 Brotli.pro。 如果你的服务器不支持Brotli,则可以按照以下简单指南进行安装 : N
阅读全文
摘要:视频的构成 一个完整可播放的视频文件是由视频和音频两部分构成。视频和音频又有各自的封装格式(容器)和编码格式。 编码格式 常见的视频编码格式有:MPEG4、H.264、H.265等。常见的音频编码格式有:MP3、AAC、WAV等。 封装格式 常见的视频封装格式有:MP4、FLV、mov、AVI、RM
阅读全文