css和js实现硬件加速渲染自定义滚动条

听别人说用CSS的变换来实现渲染有硬件加速的效果,看到很多大网站都开始陆续使用上了,我也来说说怎么做,我这边实现的滚动条有自然滚动效果,看起来比较自然,说的再多不如直接写,让我们开始吧! 我们需要自己定义页面滚动的话,我们肯定不想让浏览器自带的滚动条出现,所以我们要先隐藏页面所有的滚动条,下面的CS ... »

vue任意关系组件通信与跨组件监听状态 vue-communication

大家好!我是木瓜太香! 众所周知,组件式开发方式给我们带来了方便,不过也引入了新的问题,组件之间的数据就像被一道无形的墙隔开,如果我们希望临时让两个组件直接通信,vuex 太巨,而 $emit 又不好维护 provider 不可控 这个时候就该今天的主角 vue-communication 登场了! ... »

这次让面试官非常满意:手撕深拷贝[15行]

这次让面试官非常满意:手撕深拷贝 人工分割线 浅拷贝这里不做介绍了,深拷贝的实现要点,除了一定要深!还要能兼容各种类型,如函数,正则、Date等等。 其实日常业务开发中,Json.parse(Json.stringfy(obj))已经能够解决90%左右的克隆需求。还有Object.assign() ... »

实时消息推送整理

分不清轮询、长轮询?不知道什么时候该用websocket还是SSE,看这篇就够了。 所谓的“实时推送”,从表面意思上来看是,客户端订阅的内容在发生改变时,服务器能够实时地通知客户端,进而客户端进行相应地反应。客户端不需要主观地发送请求去获取自己关心的内容,而是由服务器端进行“推送”。 注意上面的推送 ... »

一文看懂Vue3.0的优化

1.源码优化: a.使用monorepo来管理源码 Vue.js 2.x 的源码托管在 src 目录,然后依据功能拆分出了 compiler(模板编译的相关代码)、core(与平台无关的通用运行时代码)、platforms(平台专有代码)、server(服务端渲染的相关代码)、sfc(.vue 单文 ... »

汇总遍历对象的六种方式及其区别~值得一看

汇总遍历对象的六种方式及其区别 遍历对象属性方式千千万,奈何网上资料乱又乱! 前言: 本来计划写一篇关于深浅克隆的文章,奈何对各种遍历对象的方式搞得一头雾水,分不清各家的关系。所以特来先汇总一下。 本文汇总了遍历对象的各种方式以及各种方式的差异性,收藏好。以后遇到深浅克隆等功能时说不定能用上。还请客 ... »

JavaScript常用对象介绍

对象(object) 到目前为止,我们看到的大多数的像Array、String、Number等这些类型的,他们统统属于对象,而且,object也是ECMAScript中使用最多的一个类型。并且每个对象都有属性和方法。好比是可以构造出一个人,这个人他有年龄和姓名等,这些统统属于这个人的属性,这个人他有 ... »

关于 ECMAScript、JavaScript、ES6、ECMAScript 2015

ECMAScript 是一种规范,而 JavaScript 是对规范的实现。ECMA 是标准化组织。 最早的 JavaScript 是由 Netscape 公司开发的,并提交给 ECMA 标准化组织,制定了最早的 ECMAScript 1.0 (简称ES1,以下同)标准。 此后,又陆续制定了后续其他... ... »

你不知道的闭包原理【三个栗子彻底理解】

你不知道的闭包原理 想要理解闭包之前,就必须理解函数的创建过程、活动变量AO、作用域链。我曾写过相关的文章 网上相关对闭包的定义: MDN:函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作 ... »

虚拟DOM详解

2020年,vue3.0 beta和 vue3 rc 陆续发布,优秀的人也早已开始各种实践新版本的新特性,而我还不懂虚拟DOM,所以赶紧跟学起来。 ... »

在阿里云上搭建私有GIT仓库

在阿里云上搭建私有GIT仓库 年轻人就得好好学习,不能这么颓废 最近做项目练练手,用到了github, 但是github访问速度是真的慢啊,下载项目,下载一天了。所以呢,我是个成熟的人了,只好自己搭建个私服自己用喽,而且我有阿里云免费领的半年的es服务器,就搭建在自己的阿里云 一、git介绍 百度百 ... »

JavaScript事件对象属性e.target和this的区别

前言: Event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件发生后,跟事件相关的一系列信息数据的集合都放到这个对象里面,这个对象就是事件对象event,它有很多属性和方法。 比如: 谁绑定了这个事件。 鼠标触发事件的话,会得到鼠标的相关信息,如鼠 ... »

JavaScript innerTHML和createElement效率对比

前言: 在DOM节点操作中,innerTHML和createElement都可以实现创建元素。它们实现的功能类似,但是效率却相差很大。本文分别统计用innerTHML字符串拼接方式、innerTHML数组方式和createElement方式创建1000次元素的时间,来比较它们之间效率的高低。 比较思 ... »

JavaScript reduce()的使用

语法 arr.reduce(callback(accumulator, currentValue, index, array), initialValue) 参数 callback 执行数组中每个值 (如果没有提供 initialValue则第一个值除外)的函数,包含四个参数: accumulato ... »

女朋友问什么是动态规划,应该怎么回答?

前言 当我在看动态规划的文章时候,我女朋友凑个头过来问:啥是动态规划? 我如果直接说:“动态规划(dynamic programming)是一种分阶段求解策略问题的数学思想。它有三个概念: 最优子结构 边界 状态转移公式 估计今晚又得跪键盘。我想了想之后跟她说:走吧,我带你去喝奶茶吧。 “You k ... »