注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

Demo体验

Demo体验

场景Demo,开箱即用
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
0
评论

微信小程序如何确保每个页面都已经登陆 微信小程序

马师傅 发表了文章 • 997 次浏览 • 2021-11-19 17:53 • 来自相关话题

现状 一个微信小程序中,有首页,有个人页面,还有一些列表页面,详情页面等等,这些页面大部分是可以分享的。当分享出去的页面被一个另一个用户打开的时候,这个页面怎么确保这个用户已经登陆了呢? 网上有很多方案是在请求封装里面加一道拦截,如果没有token,就先调用登... ...查看全部
0
评论

你写过的所有代码都逃不过这两方面:API 和抽象 前端面试 性能优化

马师傅 发表了文章 • 960 次浏览 • 2021-11-19 17:49 • 来自相关话题

作为前端,你可能开发过 Electron 桌面应用、小程序、浏览器上的 web 应用、基于 React Native 等跨端引擎的 app,基于 Node.js 的工具或者服务等各种应用,这些都是 JS 的不同的 runtime,开发也都是基于前端那套技术。 ... ...查看全部
0
评论

线性表 Javascript

马师傅 发表了文章 • 863 次浏览 • 2021-11-19 17:47 • 来自相关话题

由于我是搞前端的为了更友好的描述数据结构,所以全部代码示例都是用TypeScript来编写。 1、线性表类型 1.顺序存储结构(数组) 2.链式存储结构(链表) 1.1、顺序存储 一般指数组,内部数据的存储单元在内存中相邻 优势: 查询很快,时间复杂度为... ...查看全部
0
评论

【小程序实战】- 将图片优化进行到底 微信小程序 性能优化

马师傅 发表了文章 • 1480 次浏览 • 2021-11-19 13:32 • 来自相关话题

背景 前端的性能优化,图片优化是必不可少的重要环节,大部分网站页面的构成都少不了图片的渲染。尤其在电商类项目,往往存在大量的图片,如 banner 广告图,菜单导航图,商品列表图等。图片加载数量多以及图片体积过大往往会影响页面加载速度,造成不良的用户体验。 优... ...查看全部
0
评论

代码写得好,Reduce 方法少不了,我用这10例子来加深学习! 前端面试

马师傅 发表了文章 • 857 次浏览 • 2021-11-19 13:26 • 来自相关话题

数组中的 reduce 犹如一只魔法棒,通过它可以做一些黑科技一样的事情。语法如下: reduce(callback(accumulator, currentValue[, index, array])[,initialValue]) reduce 接受两个参... ...查看全部
0
评论

面试官:请你实现一下JS重载?可不是TS重载哦! 前端面试

马师傅 发表了文章 • 1008 次浏览 • 2021-11-18 17:52 • 来自相关话题

一位同学:“如何实现JS重载?”我:“JS有重载吗?不是TS才有吗?”一位同学:“有的,这是网易一道面试题”我:“好吧我想想哈!”什么是重载我第一次看到重载这个词还是在以前学习Java的时候,我一直觉得JavaScript是没有重载的,直到TypeScript... ...查看全部
0
评论

建议收藏!!VueRouter原理和ReactRouter原理 前端面试

马师傅 发表了文章 • 2588 次浏览 • 2021-11-18 17:48 • 来自相关话题

简述 其实Vue和React在很多地方,底层原理和语法上差别并不是很大。底层原理更多的是相同的。就比如说React有JSX,Vue有Template。其实就可以理解成一个东西,就是写法不同。文章 【今天学习了吗?hash 路由和 history 路由简介】简单... ...查看全部
0
评论

关于web中的颜色表示方法,你知道多少? 前端

马师傅 发表了文章 • 1459 次浏览 • 2021-11-18 09:42 • 来自相关话题

想要表示web中的各种颜色,大家首先想到的大概就是用十六进制或者RGB来表示。但在实际web中,是远不止这两种的。今天这篇文章就和大家聊一聊,在web中颜色的各种表示方法。 以如下代码为例,大家可以复制代码看看效果: HTML <div class="b... ...查看全部
0
评论

使用这11个代码,可以大大地简化我们的代码。 Javascript

马师傅 发表了文章 • 1065 次浏览 • 2021-11-18 09:27 • 来自相关话题

1.避免 if 过长 如果判断值满足多个条件,我们可能会这么写: if (value === 'a' || value === 'b' || value === 'c') { ... } 像这样如果有多个条件,if 条件就会很我,可读性降低,我们可以这样简化:... ...查看全部
0
评论

【白话前端】从一个故事说明白“浏览器缓存” 前端面试

马师傅 发表了文章 • 876 次浏览 • 2021-11-16 14:32 • 来自相关话题

一则小故事 小明常去图书馆借阅英文杂志回家看,由于单词量少,他同时需要借阅一本《英汉词典》; 起初,和图书管理员不熟,每次他都要在图书馆借英文杂志和《英汉词典》,放在书包里背回家;这个过程,暂且将其称为“不缓存”; 后来,小明发现图书管理员竟是妈妈的... ...查看全部
0
评论

2021 年你需要知道的 CSS 工程化技术 CSS3

马师傅 发表了文章 • 1188 次浏览 • 2021-11-16 13:39 • 来自相关话题

目前整个 CSS 工具链、工程化领域的主要方案如下: 而我们技术选型的标准如下: 开发速度快 开发体验友好 调试体验友好 可维护性友好 扩展性友好 可协作性友好 体积小 有最佳实践指导 目前主要需要对比的三套方案: Less/Sass + PostCS... ...查看全部
0
评论

如何在TS里使用命名空间,来组织你的代码 Javascript

马师傅 发表了文章 • 1185 次浏览 • 2021-11-16 13:37 • 来自相关话题

前言 关于命名空间,官方有个说明,大概是这么个意思: 为了与ECMAScript 2015里的术语保持一致,从TypeScript 1.5开始,“外部模块”称为“模块”,而“内部模块”称做“命名空间”。 为了避免新的使用者被相似的名称所迷惑,建议: 任何使用... ...查看全部
0
评论

【灵魂拷问】当面试官问你JavaScript预编译 前端面试

马师傅 发表了文章 • 869 次浏览 • 2021-11-15 23:57 • 来自相关话题

(一) 前言 在腾讯字节等其他大厂的面试中,JavaScript预编译是经常会被问到的问题,本文将带大家了解JS预编译中的具体过程 (二)编译执行步骤 传统编译语言编译步骤 对传统编译型语言来说,其编译步骤一般为:词法分析->语法分析->代码生成,... ...查看全部
0
评论

面试题:实现小程序平台的并发双工 rpc 通信 前端面试

马师傅 发表了文章 • 911 次浏览 • 2021-11-15 23:54 • 来自相关话题

前几天面试的时候遇到一道面试题,还是挺考验能力的。 题目是这样的: rpc 是 remote procedure call,远程过程调用,比如一个进程调用另一个进程的某个方法。很多平台提供的进程间通信机制都封装成了 rpc 的形式,比如 electron 的 ... ...查看全部
0
评论

localStorage灵魂五问。 5M?? 10M !!! 前端面试

马师傅 发表了文章 • 1067 次浏览 • 2021-11-15 23:53 • 来自相关话题

灵魂五问 localStorage 存储的键值采用什么字符编码 5M 的单位是什么 localStorage 键占不占存储空间 localStorage的键的数量,对写和读性能的影响 写个方法统计一个localStorage已使用空间 我们挨个解答,之后给... ...查看全部
0
评论

Vue新玩具VueUse vue

马师傅 发表了文章 • 1079 次浏览 • 2021-11-15 15:54 • 来自相关话题

什么是 VueUse VueUse 是一个基于 Composition API 的实用函数集合。通俗的来说,这就是一个工具函数包,它可以帮助你快速实现一些常见的功能,免得你自己去写,解决重复的工作内容。以及进行了基于 Composition API 的封装。让... ...查看全部
0
评论

token过期自动跳转到登录页面 vue

马师傅 发表了文章 • 1355 次浏览 • 2021-11-15 15:09 • 来自相关话题

这几天项目提测,测试给我提了个bug,说token过期,路由应该自动跳转到登陆页面,让用户重新登录。先说下一些前置条件, 1:我公司的token时效在生产环境设置为一个小时,当token过期,所有接口都直接返回 2:每次路由跳转都会对token进行判断,设置了... ...查看全部
0
评论

Vue3,我决定不再使用Vuex vue

马师傅 发表了文章 • 978 次浏览 • 2021-11-15 15:06 • 来自相关话题

在开发基于Vue3的项目中发现我们可以不再依赖Vuex也能很方便的来管理数据,只需要通过Composition Api可以快捷的建立简单易懂的全局数据存储. 创建State 通过reactive我们来创建state,暴露的IState是用来方便其他文件来接受S... ...查看全部
0
评论

TypeScript 函数的重载 前端面试

马师傅 发表了文章 • 1017 次浏览 • 2021-11-12 14:22 • 来自相关话题

函数的重载 什么是函数重载呢?允许函数接收不同数量或类型的参数时,做出不同的处理。比如说这个例子: function double(x: number | string): number | string { if (typeof x === 'num... ...查看全部
0
评论

js 有哪些内置对象 Javascript

马师傅 发表了文章 • 868 次浏览 • 2021-11-12 14:14 • 来自相关话题

全局的对象( global objects )或称标准内置对象,不要和 "全局对象(global object)" 混淆。 这里说的全局的对象是说在全局作用域里的对象。全局作用域中的其他对象可以由用户的脚本创建或由宿主程序提供。 js 中的内置对象主要指的是... ...查看全部
0
评论

为什么的我的z-index不生效了?? Javascript

马师傅 发表了文章 • 979 次浏览 • 2021-11-10 17:54 • 来自相关话题

最近开发时遇到了一个有趣的现象z-index&transform等连用造成了z-index不生效,因此想借此机会记录一下学习成果。本篇文章偏概念性,请在专业人士的监督下食用。Stacking Context 层叠上下文这是 HTML 中的一个三维概念(... ...查看全部
0
评论

【译】3 个能优化网站可用性但被忽视的细节 性能优化

马师傅 发表了文章 • 953 次浏览 • 2021-11-10 17:47 • 来自相关话题

根据 Adobe 的调查显示,给定 15 分钟的时间浏览内容,三分之二的用户更愿意将时间花费在视觉上吸引人的内容。用户也希望网站能在至少 5 秒内加载。因此,设计一个速度快、满意度高的网站(或应用)应成为每个设计师关注的重点。 视觉设计是很难被忽视的,因为我们... ...查看全部
0
评论

setTimeout的执行你真的了解吗? 前端面试

马师傅 发表了文章 • 1366 次浏览 • 2021-11-10 17:28 • 来自相关话题

setTimeout的创建和执行 我们知道setTimeout是一个延时器,它会在规定的时间后延迟执行回调函数,这篇文章就来说说setTimeout它是怎么执行的。 首先我们知道消息队列是用来存储宏任务的,并且主线程会按照顺序取出队列里的任务依次执行,所以为了... ...查看全部
0
评论

从22行有趣的源码库中,我学到了 callback promisify 化的 Node.js 源码实现 node.js

马师傅 发表了文章 • 967 次浏览 • 2021-11-10 17:27 • 来自相关话题

我们经常会在本地git仓库切换tags,或者git仓库切换tags。那么我们是否想过如果获取tags呢。本文就是学习 remote-git-tags 这个22行代码的源码库。源码不多,但非常值得我们学习。 阅读本文,你将学到: 1. Node 加载采用什么模块... ...查看全部
0
评论

3D 穿梭效果?使用 CSS 轻松搞定 CSS3

马师傅 发表了文章 • 888 次浏览 • 2021-11-10 17:22 • 来自相关话题

背景 周末在家习惯性登陆 Apex,准备玩几盘。在登陆加速器的过程中,发现加速器到期了。 我一直用的腾讯网游加速器,然而点击充值按钮,提示最近客户端升级改造,暂不支持充值(这个操作把我震惊了~)。只能转头下载网易 UU 加速器。 打开 UU 加速器首页,映入眼... ...查看全部
0
评论

freeze、seal、preventExtensions对比 Javascript

马师傅 发表了文章 • 960 次浏览 • 2021-11-09 22:27 • 来自相关话题

在Object常用的方法中,Object.freeze和Object.seal对于初学者而言,是两个较为容易混淆的概念,常常傻傻分不清两者的区别和应用场景 概念 先看看两者定义 Object.freeze在MDN中的定义 Object.freeze() 方法... ...查看全部
0
评论

【喵猫秀秀秀】用CSS向你展示猫立方!! CSS3

马师傅 发表了文章 • 931 次浏览 • 2021-11-09 22:23 • 来自相关话题

前言 这次,我们用vue2+scss,带大家来实现一个六面体的猫立方。 本次的逻辑我们不适用任何的js代码,仅仅只依靠css来完成。 所以,通过本片文章,你可以收获一些css动画相关的技巧。 先看看效果 预习 本次我们要用到的知识点 transform ... ...查看全部
0
评论

一款强大到没朋友的图片编辑插件,爱了爱了! 插件化

马师傅 发表了文章 • 1274 次浏览 • 2021-11-09 22:19 • 来自相关话题

前言 最近用户提出了一个新的需求,老师可以批改学生的图片作业,需要对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本等。乍一听,又要掉不少头发。有没有功能强大的插件实现以上功能,让我有更多的时间去阻止女票双十一剁手呢?答案当然是有的。 效果展示涂鸦 裁剪 ... ...查看全部
0
评论

超详细讲解页面加载过程 前端面试

马师傅 发表了文章 • 867 次浏览 • 2021-11-09 22:12 • 来自相关话题

说一说从输入URL到页面呈现发生了什么?(知识点) ❝ 这个题可以说是面试最常见也是一道可以无限难的题了,一般面试官出这道题就是为了考察你的前端知识的深度与广度。 ❞ 1.浏览器接受URL开启网络请求线程(涉及到:浏览器机制,线程与进程等) 2.开启网络线... ...查看全部
0
评论

VS Code settings.json 10 个高(装)阶(杯)配置! node.js

马师傅 发表了文章 • 933 次浏览 • 2021-11-09 22:09 • 来自相关话题

1. 隐藏活动栏 VS Code 左侧图标列表是“活动栏”,我们可以点击图标跳转到各个模块,我们可以通过配置 workbench.activityBar.visible 来控制活动栏的显示; 如果你想恢复显示,可以自定义快捷键来再次显示这块空间; 如何设置... ...查看全部
0
评论

总结 scripts 阻塞 HTML 解析 前端面试

马师傅 发表了文章 • 1274 次浏览 • 2021-11-07 22:09 • 来自相关话题

看了一些类似文章,里面有这样一些表述:解析 HTML,DOM 解析等;我们统一下表述:下载完 HTML 文件后,浏览器会解析 HTML,目的是为了构建 DOM 结构 或 生成 DOM 树。 内联 scripts <html> <head&... ...查看全部
0
评论

手把手教你封装一个日期格式化的工具函数 前端面试 插件化

马师傅 发表了文章 • 904 次浏览 • 2021-11-07 22:05 • 来自相关话题

最近还是在做那个练习的小项目,做完接收数据并渲染到页面上的时候,发现后端小伙伴又在给我找活干了欸,单纯的渲染这当然是小kiss啦,可这个字段是个什么东西? "createTime" : "2021-01-17T13:32:06.381Z", "lastLogi... ...查看全部
0
评论

用CSS告诉你为何大橘为重!! CSS3

马师傅 发表了文章 • 1014 次浏览 • 2021-11-07 22:03 • 来自相关话题

本期我们通过vite+scss去完成一个橘猫心情变化的创意动画,这里的逻辑我们将不使用任何js代码,仅依靠css来完成,所以,通过本期的动画,你可以到一些css动画和绘制的一些技巧。废话不多说,先康康效果~ 还比较可爱吧。当鼠标(鱼)移入出,橘子闷闷不乐,无... ...查看全部
0
评论

你需要知道的 19 个 console 实用调试技巧 前端面试 性能优化

马师傅 发表了文章 • 1000 次浏览 • 2021-11-07 22:00 • 来自相关话题

众所周知,浏览器的开发者工具为我们提供了强大的调试系统,可以用来查看DOM树结构、CSS样式调试、动画调试、JavaScript代码断点调试等。今天我们就来看看console调试的那些实用的调试技巧。 如今,我们项目的开发通常会使用React、Vue等前端框... ...查看全部
0
评论

淦,为什么 "???".length !== 3 前端面试

马师傅 发表了文章 • 1026 次浏览 • 2021-11-07 21:56 • 来自相关话题

不知道你是否遇到过这样的疑惑,在做表单校验长度的需求中,发现不同字符 length 可能大小不一。比如标题中的 "𠮷" length 是 2(需要注意📢,这并不是一个中文字!)。 '吉'.length // 1 '𠮷'.length // 2 '❤'.le... ...查看全部
1
回复

环信离线消息服务器无法主动推送到客户端 离线消息接收

smysmy 回复了问题 • 2 人关注 • 1008 次浏览 • 2021-11-05 16:57 • 来自相关话题

0
评论

「如何优雅的不写注释?」每个工程师都要不断追求的漫漫长路 性能优化

马师傅 发表了文章 • 1000 次浏览 • 2021-10-29 13:35 • 来自相关话题

引言 ✨ 作为一个软件开发者,我们需要进行协同,在这个协同的过程中我们需要让其他开发者可以读懂我们的代码,所以注释可能就变成了一个重要的代码解读标注手段。 说到这,大家可能就会感知到注释确实很重要,他可以是开发者有效沟通的渠道,但是我在这里想表达的是注释其实并... ...查看全部
0
评论

Node 之一个进程的死亡 node.js

马师傅 发表了文章 • 1162 次浏览 • 2021-10-29 13:30 • 来自相关话题

人固有一死,一个 Node 进程亦是如此,总有万般不愿也无法避免。从本篇文章我们看看一个进程灭亡时如何从容离去。 一个 Node 进程,除了提供 HTTP 服务外,也绝少不了跑脚本的身影。跑一个脚本拉取配置、处理数据以及定时任务更是家常便饭。在一些重要流程中能... ...查看全部
0
评论

CSS 奇技淫巧 | 巧妙实现文字二次加粗再加边框 前端面试 CSS3

马师傅 发表了文章 • 1059 次浏览 • 2021-10-28 22:28 • 来自相关话题

需求背景 - 文字的二次加粗 今天遇到这样一个有意思的问题: 在文字展示的时候,利用了 font-weight: bold 给文字进行加粗,但是觉得还是不够粗,有什么办法能够让文字更粗一点呢? emm,不考虑兼容性的话,答案是可以利用文字的 -webkit... ...查看全部
0
评论

大道至简,繁在人心:在浏览器控制台安装npm包是什么操作? 前端面试

马师傅 发表了文章 • 890 次浏览 • 2021-10-28 22:23 • 来自相关话题

  我们都知道,npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。虽然作为命令行工具的 npm 近年来逐渐式微,但是作为广泛使用的存储库的 npm,却依然... ...查看全部
0
评论

微信小程序统一分享,全局接管页面分享消息的一些技巧 微信小程序

马师傅 发表了文章 • 1353 次浏览 • 2021-10-28 22:20 • 来自相关话题

分享功能非常的重要,当某一个功能或文章打动用户的时候,能把这个小程序分享出去,就能带来裂变传播的效果。 全局接管分享事件 而随着功能越来越多,页面越来越多,每一个页面都需要添加分享的回调方法吗? onShareAppMessage: function () {... ...查看全部
0
评论

我阅读源码的五步速读法 前端面试

马师傅 发表了文章 • 1025 次浏览 • 2021-10-28 22:16 • 来自相关话题

阅读代码是程序员最重要的技能之一,我们每天都在读同事的代码或者第三方库的代码,那怎么高效的阅读代码呢?分享下我的源码阅读方法。 我的阅读源码的方法分为五步: 第一步,通过文档和测试用例了解代码的功能 阅读源码前要先了解代码的功能,可以通过文档或者测试用例,了解... ...查看全部
0
评论

复杂web动画,不慌,选择 web Animations API 前端面试 动画 CSS3

马师傅 发表了文章 • 1162 次浏览 • 2021-10-28 22:15 • 来自相关话题

说动前端动画,我们熟知的有两种 CSS 动画 (requestAnimation/setTimeout/setInterval + 属性改变) 动画 当然有人可能会说canvas动画,从运动本质了还是第二种。 今天说的是第三种 Web Animations... ...查看全部
2
回复

请问下发送单聊文本卡在了send报错,一模一样的代码放在demo里面就没问题了,是怎么回事 环信_WebIM WebIM API

imaGeeker 回复了问题 • 2 人关注 • 1302 次浏览 • 2021-10-28 13:44 • 来自相关话题

0
评论

小程序原理 及 优化 性能优化 微信小程序

马师傅 发表了文章 • 1701 次浏览 • 2021-10-27 21:07 • 来自相关话题

小程序使用的是双线程 在这种架构中,视图层使用 WebView 作为渲染载体,而逻辑层是由独立的 JavascriptCore 作为运行环境 > 两者都是独立的模块,并不具备数据直接共享的通道。视图层和逻辑层的数据传输,要由 Native 的 JS... ...查看全部
0
评论

Vue 开发规范(下) vue 前端面试

马师傅 发表了文章 • 885 次浏览 • 2021-10-27 21:03 • 来自相关话题

提供组件 API 文档 使用 Vue.js 组件的过程中会创建 Vue 组件实例,这个实例是通过自定义属性配置的。为了便于其他开发者使用该组件,对于这些自定义属性即组件API应该在 README.md 文件中进行说明。 为什么?良好的文档可以让开发者比较容易的... ...查看全部
0
评论

Vue 开发规范(中) vue 前端面试

马师傅 发表了文章 • 943 次浏览 • 2021-10-27 21:00 • 来自相关话题

上一篇:https://www.imgeek.org/article/825358938将 this 赋值给 component 变量 在 Vue.js 组件上下文中,this指向了组件实例。因此当你切换到了不同的上下文时,要确保 this 指向一个可用的 c... ...查看全部
0
评论

Vue 开发规范(上) 性能优化 vue

马师傅 发表了文章 • 1113 次浏览 • 2021-10-27 20:56 • 来自相关话题

基于模块开发 始终基于模块的方式来构建你的 app,每一个子模块只做一件事情。 Vue.js 的设计初衷就是帮助开发者更好的开发界面模块。一个模块是应用程序中独立的一个部分。 怎么做? 每一个 Vue 组件(等同于模块)首先必须专注于解决一个单一的问题,独立的... ...查看全部
0
评论

带你理解scoped、>>>、/deep/、::v-deep的原理 vue 前端面试

马师傅 发表了文章 • 3862 次浏览 • 2021-10-27 20:54 • 来自相关话题

前言 平时开发项目我们在使用第三方插件时,必须使用element-ui的某些组件需要修改样式时,老是需要加上/deep/深度选择器,以前只是知道这样用,但是还不清楚他的原理。还有平时每个组件的样式都会加上scoped,但是也不知道他具体的原理。今天我就带大家理... ...查看全部
0
评论

手摸手教你用webpack搭建TS开发环境 webpack

马师傅 发表了文章 • 1007 次浏览 • 2021-10-24 23:08 • 来自相关话题

前言 最近在学习typescript,也就是我们常说的TS,它是JS的超集。具体介绍就不多说了,今天主要是带大家用webpack从零搭建一个TS开发环境。直接用传统的tsc xx.ts文件进行编译的话太繁琐,不利于我们开发,经过这次手动配置,我们也能知道vue... ...查看全部