Blog icon indicating copy to clipboard operation
Blog copied to clipboard

冴羽写博客的地方,预计写四个系列:JavaScript深入系列、JavaScript专题系列、ES6系列、React系列。

Results 143 Blog issues
Sort by recently updated
recently updated
newest added

## 前言 在 [《一篇带你用 VuePress + Github Pages 搭建博客》](https://github.com/mqyqingfeng/Blog/issues/235)中,我们使用 VuePress 搭建了一个博客,在 [《一篇从购买服务器到部署博客代码的详细教程》](https://github.com/mqyqingfeng/Blog/issues/243)中,我们将代码部署到服务器上,最终的效果查看:[TypeScript 中文文档](http://ts.yayujs.com/)。今天我们来学习如何开启服务器的 Gzip 压缩。 ## Gzip 压缩 关于 Gzip 压缩,引用 MDN 的[介绍](https://developer.mozilla.org/zh-CN/docs/Glossary/GZip_compression): > Gzip 是一种用于文件压缩与解压缩的文件格式。它基于 Deflate 算法,可将文件压缩地更小,从而实现更快的网络传输。 Web服务器与现代浏览器普遍地支持 Gzip,这意味着服务器可以在发送文件之前自动使用...

博客搭建

## 前言 在 [《一篇带你用 VuePress + Github Pages 搭建博客》](https://github.com/mqyqingfeng/Blog/issues/235)中,我们使用 VuePress 搭建了一个博客,最终的效果查看:[TypeScript 中文文档](http://ts.yayujs.com/)。 本篇讲讲如何使用 Vssue 快速的实现评论功能。 ## 主题内置 因为我用的是 `vuepress-theme-reco` 主题,主题内置评论插件 `@vuepress-reco/vuepress-plugin-comments`,可以根据自己的喜好选择 Valine 或者 Vssue。 那我们来介绍下 Vssue。 ## Vssue 官网:[https://vssue.js.org/zh/](https://vssue.js.org/zh/) Vssue...

博客搭建

这个issue **一篇带你用 VuePress + Github Pages 搭建博客 #235**的 **4.添加侧边栏**发生了文件结构错位,把相同根目录的两个文件表现得像一个文件在另一个文件里一样,容易令人感到疑惑 ![image](https://github.com/mqyqingfeng/Blog/assets/94830231/226a41d1-571e-4c84-b942-3f5122f2be90)

现在js、es 的继承不都是,const p1 = new Person(); const p2 = new Person()这样写吗? 为啥这篇教程里全都加了一个 function Child () { },求解

## each介绍 jQuery 的 each 方法,作为一个通用遍历方法,可用于遍历对象和数组。 语法为: ```js jQuery.each(object, [callback]) ``` 回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。 ```js // 遍历数组 $.each( [0,1,2], function(i, n){ console.log( "Item #" + i + ": " + n );...

专题系列

## 起源 一段标准的 for 循环代码: ```js var colors = ["red", "green", "blue"]; for (var i = 0, len = colors.length; i < len; i++) { console.log(colors[i]); } ``` 看着很简单,但是再回顾这段代码,实际上我们仅仅是需要数组中元素的值,但是却需要提前获取数组长度,声明索引变量等,尤其当多个循环嵌套的时候,更需要使用多个索引变量,代码的复杂度就会大大增加,比如我们使用双重循环进行去重: ```js...

ES6系列

## React 与 Babel ### 元素标签转译 用过 React 的同学都知道,当我们这样写时: ```jsx bar ``` Babel 会将其转译为: ```javascript React.createElement("div", {id: "foo"}, "bar"); ``` 我们会发现,`createElement` 的第一个参数是元素类型,第二个参数是元素属性,第三个参数是子元素 ### 组件转译 如果我们用的是一个组件呢? ```javascript function Foo({id}) { return...

React系列

## 前言 本篇我们重点介绍以下四种模块加载规范: 1. AMD 2. CMD 3. CommonJS 4. ES6 模块 最后再延伸讲下 Babel 的编译和 webpack 的打包原理。 ## require.js 在了解 AMD 规范之前,我们先来看看 require.js 的使用方式。 项目目录为: ``` * project/ * index.html...

ES6系列

## 前言 在 [《一篇带你用 VuePress + Github Pages 搭建博客》](https://github.com/mqyqingfeng/Blog/issues/235)中,我们使用 VuePress 搭建了一个博客,最终的效果查看:[TypeScript 中文文档](http://ts.yayujs.com/)。 如果我们浏览过 TypeScript [官方文档](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html),我们会发现一个很好用的功能,那就是很多代码块,在悬浮上去的时候都会出现一个 `Try` 按钮: ![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/740bd7f004e7444f89be295ad411bcbf~tplv-k3u1fbpfcp-zoom-1.image) 点击就会跳转到对应的 Playground,比如图示的按钮跳转的就是[这个链接](https://www.typescriptlang.org/play#code/PTAEAEFMCdoe2gZwFygEwGYAsBWAsAFAAmkAxgDYCG0koAZgK4B2pALgJZxOgDmNkrABRNKAW0ipEraOyY8AlKgBucdkQDchEKAC0e0g1Z6dWsAHU4DckVAAjWpVDRmHcaBjxoodnXcAPMkNIIgBCQj5IAUEsNHl1IA),我们可以在这个 Playground 修改并验证代码效果。 如果我们要实现这样的功能,该怎么实现呢? ## 思考 我们很容易想到,写一个 VuePress 插件来实现它,这个效果看起来有点像代码复制插件,但细细一想,又非如此。 代码复制插件的实现方式,[参考 《从零实现一个...

博客搭建

## 前言 jQuery 的 extend 是 jQuery 中应用非常多的一个函数,今天我们一边看 jQuery 的 extend 的特性,一边实现一个 extend! ## extend 基本用法 先来看看 extend 的功能,引用 jQuery 官网: > Merge the contents of two or more objects...

专题系列