ECMAScript

QUIC Weekly 每周一草(20201209期)

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-14 16:56:46
关于QUIC协议的论文、IETF进展、博客、视频等等 QUIC 的全称是 Quick UDP Internet Connections protocol, 由 Google 设计提出,目前由 IETF 工作组推动进展。其设计的目标是替代 TCP 成为 HTTP/3 的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(Edge Computing)场景也一直在打造底层基于 QUIC 通讯协议的低时延边缘计算框架 YoMo ,长时间关注 QUIC 协议的发展,遂整理该文集并配以适当的中文翻译,方便更多关注 QUIC 协议的人学习。 在线社区:🍖 discord/quic 维护者:🦖 YoMo QUIC Weekly - 20201209期 Wireshark v3.4.1 发布, 增加了很多与 QUIC 相关的更新 📢 draft-ietf-quic-manageability 讨论了 QUIC 传输协议的可管理性,重点讨论影响 QUIC 流量的网络操作的注意事项,比如,要实现 QUIC 的负载均衡,建议参考该文 📢 Applicability of the QUIC Transport Protocol 讨论了QUIC传输协议的适用性,重点讨论了影响通过QUIC开发和部署应用协议的注意事项,比如,实现0-RTT的过程中要注意的安全问题 w3c WebTransport

【JS】395-重温基础:事件

空扰寡人 提交于 2020-12-13 10:43:16
本文是 重温基础 系列文章的第二十篇。 这是第三个基础系列的第一篇,欢迎持续关注呀! 重温基础 系列的【初级】和【中级】的文章,已经统一整理到我的【Cute-JavaScript】(http://js.pingan8787.com)的JavaScript基础系列中。 今日感受:电影有时候看的是缘分。 本章节复习的是JS中的事件,事件冒泡捕获代理模拟等等。 前置知识: JavaScript与HTML的交互式通过 事件 来实现的,是文档或浏览器窗口中发生的一些特定的交互瞬间。 1.事件流 事件流描述的是从页面中接收事件的顺序,通常有这样两种完全相反的事件流概念: 事件冒泡流 (IE团队提出)和 事件捕获流 (网景团队提出)。 1.1 事件冒泡 冒泡事件(Event Bubbling):事件开始时由最具体的元素接收(文档中嵌套层次最深的那个节点),然后逐层向上传播到较为不具体的节点(文档),看下示例代码: <!DOCTYPE html> <html> <head> <title> leo 事件冒泡 </title> </head> <body> <div id = "leo" > 点击 </div> </body> </html> 点击页面中 <div> 元素,这个 click 事件就会按照下面顺序传播: <div> <body> <html> document 由此可见

ECMAScript6(ES6)的语法

試著忘記壹切 提交于 2020-12-13 08:05:45
默认值的问题 function show(a, b = 2, c = 3) { alert(a); alert(b); alert(c); } show(1); 使用三个点号(...)数组展开和收集: function add(a, b, ...arr) { //收,注意...放到最后一个位置 alert(a); alert(b); alert(arr); } let aa = ["xu", "hai", "tao", 9]; add(...aa); //放 function add(a, b, c) { alert(a); alert(b); alert(c); } let aa = ["xu", "hai", "tao"]; add(...aa); FR:徐海涛(hunk xu) 来源: oschina 链接: https://my.oschina.net/u/4384335/blog/4794420

HTML5完整教学通俗易懂

狂风中的少年 提交于 2020-12-12 19:48:04
1.初始HTML 超文本标记语言 超文本包括:文字,图片,音频,视频,动画等 ![image-20201212090803082](C:\Users\win 10\AppData\Roaming\Typora\typora-user-images\image-20201212090803082.png) html5的优势 世界知名浏览器厂商对html5的支持 市场的需求 跨平台 w3c标准 ​ 结构化标准语言 (html , xml) ​ 表现标准语言(css) ​ 行为标准(DOM,ECMAScript) 2.网页基本信息 <!-- DOCTYPE告诉浏览器,我们要使用什么规范 --> <!-- head标签代表网页头部 --> <!-- title网页标题 --> <!-- meta描述性标签,用来描述我们网站的一些信息,一般用来做seo --> <!-- body标签代表网页主体 --> 3.网页基本标签 标题标签 h1~h6 段落标签 p 换行标签 br 水平线标签 hr 字体样式标签 strong,em 注释和特殊符号 <!-- -->,空格( ),大于,小于,版本 <!-- 特殊符号的记忆方式 &就会提示 --> 4.图像标签 常见的图像标签:jpg,gif,png,bmp title属性悬停文字 alt图片名字(必填) 5.超链接标签及应用 文本超链接 href:必填

ECMAScript 6 简短定义方法

假如想象 提交于 2020-12-04 08:26:00
ECMAScript 2015开始,在对象初始器中引入了一种更简短定义方法的语法,这是一种把方法名直接赋给函数的简写方式。 var obj = { property( parameters… ) {}, *generator( parameters… ) {}, async property( parameters… ) {}, async* generator( parameters… ) {}, // with computed keys: [property]( parameters… ) {}, *[generator]( parameters… ) {}, async [property]( parameters… ) {}, // compare getter/setter syntax: get property() {}, set property(value) {} }; var bar = { foo0: function() { return 0; }, foo1() { return 1; }, ['foo' + 2]() { return 2; } }; console.log(bar.foo0()); // 0 console.log(bar.foo1()); // 1 console.log(bar.foo2()); var sym=Symbol();

前端面试题整理—ES6篇

旧巷老猫 提交于 2020-11-26 15:22:50
1、es5和es6的区别,说一下你所知道的es6   ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化   ECMAScript6,即ES6,是ECMAScript的第六次修订,于2015年完成,也称ES2015   ES6是继ES5之后的一次改进,相对于ES5更加简洁,提高了开发效率   ES6新增的一些特性:   1)let声明变量和const声明常量,两个都有块级作用域   ES5中是没有块级作用域的,并且var有变量提升,在let中,使用的变量一定要进行声明   2)箭头函数   ES6中的函数定义不再使用关键字function(),而是利用了()=>来进行定义   3)模板字符串   模板字符串是增强版的字符串,用反引号(`)标识,可以当作普通字符串使用,也可以用来定义多行字符串   4)解构赋值   ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值   5)for of循环   for...of循环可以遍历数组、Set和Map结构、某些类似数组的对象、对象,以及字符串   6)import、export导入导出   ES6标准中,Js原生支持模块(module)。将JS代码分割成不同功能的小块进行模块化,将不同功能的代码分别写在不同文件中,各模块只需导出公共接口部分,然后通过模块的导入的方式可以在其他地方使用  

JavaScript中的global对象,window对象以及document对象的区别和联系

≡放荡痞女 提交于 2020-11-22 21:02:37
JavaScript中的global对象,window对象以及document对象的区别和联系 一、概念区分:JavaScript中的global对象,window对象以及document对象 1、global对象(全局对象) 《JS高级程序设计》中谈到,global对象可以说是ECMAScript中对特别的一个对象了,因为不管你从什么角度上看,这个对象都是 不存在的 。从某种意义上讲,它是一个终极的“兜底儿对象”,换句话说呢, 就是不属于任何其他对象的属性和方法,最终都是它的属性和方法。 我理解为, 这个global对象呢,就是整个JS的“老祖宗”,找不到归属的那些“子子孙孙”都可以到它这里来认祖归宗 。所有在全局作用域中定义的属性和函数,都是global对象的属性和方法, 比如isNaN()、parseInt()以及parseFloat()等 ,实际都是它的方法;还有就是常见的一些特殊值,如: NaN、undefined等都是它的属性 , 以及一些构造函数Object、Array等也都是它的方法 。总之,记住一点: global对象就是“老祖宗”,所有找不到归属的就都是它的。 2、window对象 前面说了global对象是“老祖宗”,那有人该问了,你把window对象置于何地呢?对,javascript这门语言现在这么红火很大部分原因是因为W3C将它作为写页面的官方脚本语言

JAVASCRIPT知识点(一)

微笑、不失礼 提交于 2020-11-21 04:14:22
JAVASCRIPT知识点 (一) 一、JavaScript 简介 (一)、JavaScript语言的介绍:JavaScript是基于对象和原型的一种动态、弱类型的脚本语言 (二)、JavaScript语言的组成:JavaScript是由核心语法(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)组成的 (三)、JavaScript语言的应用:实现页面表单验证以及页面交互特效,基于Node.js技术进行服务器端编程等 二、JavaScript ECMAScript 一:基础语法 (一):变量 变量的声明 var变量:var 变量名 = 值; let变量:let 变量名 = 值; const变量:const 变量名 = 值; 变量的作用域 1.全局作用域:代码中任何地方都能访问到 局部作用域:在固定的代码片段内可访问到 2.变量提升:变量在声明之前就访问,var会使用默认值undefined,而let会直接报错 3.var、let、const区别 (二):运算符 1. 算数运算符:加(+),减(-),乘(*),除(/),求余(%) 2. 赋值运算符:=,+=,-=,*=,%= 3. 关系运算符:>,<,>=,<=,==(只比较值),!=,===(值和数据类型都比较) 4. 逻辑运算符:[&&,||](只有左侧满足才计算右侧),!,[&,|](不管左侧结果如何

IE不支持ES6语法的解决方案——Babel

安稳与你 提交于 2020-11-15 06:11:58
Babel 是一个 JavaScript 编译器 Babel 是一个工具链,主要用于将 ECMAScript 2015+ (ES6+,IE不支持ES6+语法,所以要支持IE,项目中引入Babel还是很有必要的)版本的代码转换为向后兼容( 向后兼容 :兼容以前的; 向前兼容:兼容未来的 )的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。下面列出的是 Babel 能为你做的事情: 语法转换 通过 Polyfill 方式在目标环境中添加缺失的特性 (通过 @babel/polyfill 模块) 源码转换 (codemods) 以下以gulp打包工具为例: 1.安装 npm install --save-dev gulp-babel 2.使用 var gulp = require("gulp" ); var babel = require("gulp-babel" ); gulp.task( "default", function () { return gulp.src("src/app.js" ) .pipe(babel()) .pipe(gulp.dest( "dist" )); }); 3.创建 .babelrc配置文件 3.1安装preset-env npm install @babel/preset-env --save-dev 3.2创建

ES Module

纵然是瞬间 提交于 2020-11-13 12:37:20
感谢支持ayqy个人订阅号,每周义务推送1篇( only unique one )原创精品博文,话题包括但不限于前端、Node、Android、数学(WebGL)、语文(课外书读后感)、英语(文档翻译) 如果觉得弱水三千,一瓢太少,可以去 http://blog.ayqy.net 看个痛快 零.7种模块化方式 1.分节注释 <!--html--> <script> // module1 code // module2 code </script> 手动添加注释来标明模块范围,类似于CSS里的分节注释: /* ----------------- * TOOLTIPS * ----------------- */ 惟一作用是让浏览代码变得容易一些,迅速找到指定模块, 根本原因 是单文件内容太长,已经遇到了维护的麻烦,所以手动插入一些锚点供快速跳转 非常原始的模块化方案,没有实质性的好处(比如模块作用域,依赖处理,模块间错误隔离等等) 2.多script标签 <!--html--> <script type="application/javascript" src="PATH/polyfill-vendor.js" ></script> <script type="application/javascript" src="PATH/module1.js" ></script>