类目 Blog

软件设计的哲学

Writing computer software is one of the purest creative activities in the history of the human race. Programmers aren’t bound by practical limitations such as the laws of physics; we...

javascript之美

JavaScript可以说是世界上最有争议和被人误解最多的编程语言。很多人都图谋用其他语言取代它的Web语言之主的地位,但是他们非但没能撼动JavaScript的根基,还促使它不断进化并得以快速发展。

类目 Web

网站开发中,如何实现图片的延迟加载

延迟加载,顾名思义,在当前网页,滑动页面到能看到图片的时候再加载图片

前端设计模式

设计模式是对软件设计开发过程中反复出现的某类问题的通用解决方案。设计模式更多的是指导思想和方法论,而不是现成的代码,当然每种设计模式都有每种语言中的具体实现方式。学习设计模式更多的是理解各种模式的内在思想和解决的问题,毕竟这是前人无数经验总结成的最佳实践,而代码实现则是对加深理解的辅助。

数组去重方法大全

数组去重方法大全

什么是防抖和节流,他们的应用场景有哪些

什么是防抖和节流,他们的应用场景有哪些?

normalize.css

Normalize.css 只是一个很小的CSS文件,但它在默认的HTML元素样式上提供了跨浏览器的高度一致性。相比于传统的CSS reset, Normalize.css是一种现代的、为HTML5准备的优质替代方案。Normalize.css现在已经被用于Twitter Bootstrap以及许许多多其他框架、工具和网站上。

前端职位等级及描述

前端职位等级及描述

Markdown语法

Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown被大量使用,如Github、Wikipedia等网站,如各大博客平台:WordPress、Drupal等。

类目 Javascript

JavaScript中构造函数和普通函数的区别

1、构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写

Javascript可选链操作符(?.)

可选链操作符 可选链(Optional chaining) ?. 是一种以安全的方式去访问嵌套的对象属性,即使某个属性根本就不存在。 这是一项新的提案,老旧浏览器可能需要 polyfills。

JavaScript获取Url参数万能方法

url中的参数是指?之后的参数,如今的url中经常会带有#的场景:http://test.com/path1/?id=123#/path2/path3,如果参数是在#号之前(也就是?id=123在#/path/path之前),此时可以使用window.location.search的。

Object.defineProperties()用法详解

Object.defineProperties() 方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。

Object.defineProperty()用法详解

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。

对前端设计模式MVC和MVVM的理解

Model–View–ViewModel(MVVM) 是一个软件架构设计模式,由微软 WPF 和 Silverlight 的架构师 Ken Cooper 和 Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。由 John Gossman(同样也是 WPF 和 Silverlight 的架构师)于2005年在他的博客上发表。

关于前端框架MVC和MVVM以及前端工程化的理解

一、概念解释 MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。

Mobx在React中的使用详解

MobX 是一个优秀的响应式状态管理库,它通过透明的函数响应式编程(transparently applying functional reactive programming - TFRP)使得状态管理变得简单和可扩展,通过 MobX 你可以用最直观的方式修改状态(数据)。

TypeScript 可辨识联合类型

TypeScript 可辨识联合(Discriminated Unions)类型,也称为代数数据类型或标签联合类型。它包含 3 个要点:可辨识、联合类型和类型守卫。

如何编写高质量TypeScript代码

如何编写高质高效的TypeScript代码,根据以往开发经验,本文给出以下建议

深度理解和使用ES6中的Symbol

ES6中引入了一种新的基础数据类型:Symbol,不过很多开发者可能都不怎么了解它,或者觉得在实际的开发工作中并没有什么场景应用到它,那么今天我们来讲讲这个数据类型,并看看我们怎么来利用它来改进一下我们的代码。

React Hook - ueseState Hook 示例详解

Hook 是什么? Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 Hook 是一个特殊的函数,它可以让你“钩入” React 的特性。例如,useState 是允许你在 React 函数组件中添加 state 的 Hook。

React Hook - useReducer示例详解

useReducer 它接收一个形如 (state, action) => newState 的 reducer方法,并返回当前的 state 以及与其配套的 dispatch 方法。useState 的替代方案。 在某些场景下,useReducer 会比 useState 更适用,例如 state 逻辑较复杂且包含多个子值,或者下一个 state 依赖于之前的 state 等。并且,使用 useReducer 还能给那些会触发深更新的组件做性能优化,因为你可以向子组件传递 dispatch 而不是回调函数 。

React Hook - ueseEffect Hook 示例详解

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 Hook 是一个特殊的函数,它可以让你”钩入” React 的特性。Effect Hook 可以让你在函数组件中执行副作用操作。

React Hook - useContext示例详解

useContext从名字上就可以看出,它是以Hook的方式使用React Context(上下文)。先简单介绍Context的概念和使用方式,更多Context的知识可以参考官方文档。

React Hook 规则

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。Hook 本质就是 JavaScript 函数,但是在使用它时需要遵循两条规则。

js数组方法reduce()的使用案例

reduce()方法是数组的一个实例方法(共有方法),可以被数组的实例对象调用。reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。 1 arr.reduce([callback, initialValue])

ES6扩展操作符和剩余操作符区别和应用

扩展运算符写法是三个点…,写法虽然跟剩余操作符一致,都是…,但是作用可以认为是相反的。

ES6扩展运算符与剩余操作符...

扩展运算符与剩余操作符都是以三点开头的操作符,二者长的很像,只是在用法上有些差别。它们已经被 ES6 数组支持,能解决很多之前 arguments 解决起来很麻烦的问题。

类目 React

React使用createContext的TypeScript写法

React createContext的TypeScript写法

Mobx在React中的使用详解

MobX 是一个优秀的响应式状态管理库,它通过透明的函数响应式编程(transparently applying functional reactive programming - TFRP)使得状态管理变得简单和可扩展,通过 MobX 你可以用最直观的方式修改状态(数据)。

React Hook - ueseState Hook 示例详解

Hook 是什么? Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 Hook 是一个特殊的函数,它可以让你“钩入” React 的特性。例如,useState 是允许你在 React 函数组件中添加 state 的 Hook。

React Hook - useReducer示例详解

useReducer 它接收一个形如 (state, action) => newState 的 reducer方法,并返回当前的 state 以及与其配套的 dispatch 方法。useState 的替代方案。 在某些场景下,useReducer 会比 useState 更适用,例如 state 逻辑较复杂且包含多个子值,或者下一个 state 依赖于之前的 state 等。并且,使用 useReducer 还能给那些会触发深更新的组件做性能优化,因为你可以向子组件传递 dispatch 而不是回调函数 。

React Hook - ueseEffect Hook 示例详解

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 Hook 是一个特殊的函数,它可以让你”钩入” React 的特性。Effect Hook 可以让你在函数组件中执行副作用操作。

React Hook - useContext示例详解

useContext从名字上就可以看出,它是以Hook的方式使用React Context(上下文)。先简单介绍Context的概念和使用方式,更多Context的知识可以参考官方文档。

React Hook 规则

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。Hook 本质就是 JavaScript 函数,但是在使用它时需要遵循两条规则。

类目 Tutorial

Linux常用目录及详细使用说明

Linux常用目录及详细使用说明

类目 TypeScript

Typescript类型断言

类型断言 类型断言(Type Assertion)可以用来手动指定一个值的类型。

TypeScript什么时候要用命名空间

什么时候要用命名空间? 如果你发现自己写的功能(函数/类/接口等…)越来越多, 你想对他们进行分组管理就可以用命名空间, 下面先用”类“举例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 namespace Tools { const TIMEOUT...

Typescript使用技巧

Typescript使用技巧

Typescript中interface和type区别详解

Typescript中interface和type区别详解 官方描述

Typescript关键字infer的理解与使用

Typescript关键字infer的理解与使用 官方对 infer 的解释是这样的:

React使用createContext的TypeScript写法

React createContext的TypeScript写法

Typescript实用的内置类型

Typescript实用的内置类型

TypeScript 可辨识联合类型

TypeScript 可辨识联合(Discriminated Unions)类型,也称为代数数据类型或标签联合类型。它包含 3 个要点:可辨识、联合类型和类型守卫。

如何编写高质量TypeScript代码

如何编写高质高效的TypeScript代码,根据以往开发经验,本文给出以下建议

Typescript高级用法

Typescript 高级技巧

类目 Mobx

Mobx在React中的使用详解

MobX 是一个优秀的响应式状态管理库,它通过透明的函数响应式编程(transparently applying functional reactive programming - TFRP)使得状态管理变得简单和可扩展,通过 MobX 你可以用最直观的方式修改状态(数据)。

类目 Git

Git经常使用的实用命令

Git经常使用的实用命令