刷新
JavaScript中async和await的使用以及队列问题

博主头像 宏任务和微任务的队列入门知识,可以参考之前的文章: JavaScript的事件循环机制 宏任务和微任务在前端面试中,被经常提及到,包括口头和笔试题 async && await概念 async 使用async关键字声明的函数,是AsyncFunction构造函数的实例,在async函数体内,可以使用 ...

浅析WebSocket(1)

博主头像 简介 WebSocket 是双工的,他支持在客户端和服务器之间互相发送文本或二进制消息流,除此功能以外,它还提供了更为复杂的附加扩展: 连接协商和同源策略实施 与现有HTTP基础设施的互相操作性 面向消息的通信和高效的消息框架 这一点与Socket不同,Socket算是面向字节,他没有消息头、消息尾 ...

记录--20道前端手写面试题

博主头像 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 防抖节流 这也是一个经典题目了,首先要知道什么是防抖,什么是节流。 防抖: 在一段时间内,事件只会最后触发一次。 节流: 事件,按照一段时间的间隔来进行触发。 实在不懂的话,可以去这个大佬的Demo地址玩玩防抖节流DEMO // 防 ...

JavaScript 语言入门

博主头像 JavaScript 介绍 Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。 JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序员。更名为 JavaScript。 ...

TypeScript(7)泛型

博主头像 泛型 指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。 引入 下面创建一个函数, 实现功能: 根据指定的数量 count 和数据 value , 创建一个包含 count 个 value 的数组 不用泛型的话,这个函数可能是下面这样: function c ...

TypeScript(6)函数

博主头像 函数 函数是 JavaScript 应用程序的基础,它帮助你实现抽象层,模拟类,信息隐藏和模块。在 TypeScript 里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方。TypeScript 为 JavaScript 函数添加了额外的功能,让我们可以更容易地使用。 基本示例 和 ...

如何使用lerna进行多包(package)管理

博主头像 为什么要用lerna 将大型代码仓库分割成多个独立版本化的 软件包(package)对于代码共享来说非常有用。但是,如果某些更改 跨越了多个代码仓库的话将变得很 麻烦 并且难以跟踪,并且, 跨越多个代码仓库的测试将迅速变得非常复杂。 为了解决这些(以及许多其它)问题,某些项目会将 代码仓库分割成多个 ...

TypeScript(5)类、继承、多态

博主头像 前言 对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来的。 从 ECMAScript 2015,也就是 ES6 开始, JavaScript 程序员将能够 ...

TypeScript(4)接口

博主头像 介绍 TypeScript 的核心原则之一是对值所具有的结构进行类型检查。我们使用接口(Interfaces)来定义对象的类型。接口是对象的状态(属性)和行为(方法)的抽象(描述) 接口初探 声明接口需要使用关键字interface,接下来我们定义一个接口,需求如下 需求: 创建人的对象, 需要对人 ...

OpenLayers 点击显示经纬度Demo

博主头像 这里给大家分享我在OpenLayers 地图开发工作中总结出的一下代码和注意点,希望对大家有所帮助 效果如下: 核心代码展示:附带讲解注释 var map = new ol.Map({ // 初始化地图 target: 'map',// 选择地图对象 layers: [ new ol.layer.T ...

JS实现瀑布流页面布局

博主头像 个人对瀑布流布局理解: 每列的宽度相等而高度不等,且第二行的第一个容器需要放在第一行高度最小的容器下面,依次类推放置。 附上代码: 代码仅实现了瀑布流的布局方式和 resize 监听,如果大家有需要,可以自己拓展下:实现监听滚动事件,页面滚动加载图片的功能。 代码中写了详细注释,可以直接使用。 <! ...

web浏览器网页打印

博主头像 1、浏览器打印相对还是比较简单的,但也导致控制起来就麻烦。对于简单的打印需求直接用js调用window.print()即可。如果想要更好的控制打印结果,那这个就不能满足了。 2、市面上有挺多专门做打印功能的商用插件,要不收费,要不免费版阉割有水印,这在公司里使用自然是不行的。也有第三方的插件可用。但 ...

JS从入门到入狱(bushi)

博主头像 涉及到的链接: W3school-JavaScript教程 JavaScript简介 文档对象模型 (DOM) JavaScript BOM(浏览器对象模型) JS面向对象之原型 JavaScript基于原型的面向对象编程 js的变量(详解) 关于JavaScript作用域的理解 简单谈谈JavaS ...

TypeScript(3)基础类型

博主头像 基础类型 TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。 布尔值 最基本的数据类型就是简单的true/false值,在JavaScript和TypeScript里叫做boolean(其它语言中也一样) let isDone: bool ...

【ES6】迭代器

博主头像 简介 在 JavaScript 中,迭代器是一个对象,它定义一个序列,并在终止时可能返回一个返回值。 更具体地说,迭代器是通过使用 next() 方法实现迭代器协议的任何一个对象,该方法返回具有两个属性的对象: value,这是序列中的 next 值;和 done ,如果已经迭代到序列中的最后一个值 ...

123···34>