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

## 前言 最近我发起了[「冴羽答读者问」](https://www.yuque.com/yayu/ask/dzng83)活动,如果你也有想要提问的问题,欢迎留言,我会按照顺序依此回答。 ## 正文 知行合一应该是很多人的座右铭,告诉自己,不仅要知道,更要做到,然而太多的人都停留在“知道”的层面,行动的时候没坚持几天,就不了了之,那么如何才能跨越从“知道”到“做到”的鸿沟呢? 首先要分析的是,为什么我们知道却没有做到呢? 最根本的原因在于,你只是“知道”,但并没有相信。这个“知”只是停留在了你的思维层面,就像牛顿第一定律一样,它是你的知识,但它不是你行动的动机。 就像我们在学生时代,无论是父母还是老师,都会告诉我们要“好好学习”,这能改变人生。可是多少人又真的相信“好好学习能改变人生”呢,只有当你来到一个并不如意的大学,身边都是无法忍耐的室友和环境,投出的简历杳无音讯,面试的时候屡遭拒绝,工作的时候被嫌弃,少数人才真的相信了“要好好学习才能改变人生”。 为什么这里说少数人呢?因为大部分的人得出的结论可能并不是“我要好好学习”,而是“如果我当时好好学习,我现在就不会这样了”或者“我就是菜,我就是蠢”,他们也许意识到了学习的重要性,但他们更多的还是停留在怨天尤人、自我责备,或者干脆咸鱼躺平的状态中,顶多对后辈好为人师一下,以亲身经历告诉他们要好好学习,而对他们自己来说,依然不会开始“好好学习”,换句话说,好好学习的动机依然没有形成。 那么怎样才能从知道转为形成动机呢?首先你要剖析行为背后的真正原因: 问:“我今天学习了,我的真实原因是什么呢?” 答:“因为我想成为更好的自己。” 问:“为什么我想成为更好的自己呢? ” 答:“因为我想受到大家的肯定和尊重。” 问:“为什么我想受到大家的肯定和尊重呢?” 答:“因为我虚荣” 问:“那你虚荣的目的是什么呢?” 答:“因为我想获得大家的肯定和尊重……” 问:“为什么我想受到大家的肯定和尊重呢?” 答:“因为我内心缺乏安全感” 问:“为什么内心会缺乏安全感呢?” 答:“这让我想起了幼年时的经历,家里没多少钱,听到别人对我的闲言碎语,感觉很伤心” 问:“为什么别人说你,你就伤心呢?” 答:“被人中伤,受到误解,自然是不会开心的” 问:“为什么被人误解,自己就不开心呢?” 答:“因为不想被大家排斥” 问:“为什么不想被大家排斥呢?” 答:“因为希望与大家在一起开开心心的”...

答读者问

## 前言 在《JavaScript深入之执行上下文栈》中讲到,当JavaScript代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution context)。 对于每个执行上下文,都有三个重要属性 * 变量对象(Variable object,VO) * 作用域链(Scope chain) * this 今天重点讲讲 this,然而不好讲。 …… 因为我们要从 ECMASciript5 规范开始讲起。 先奉上 ECMAScript 5.1 规范地址: 英文版:[http://es5.github.io/#x15.1](http://es5.github.io/#x15.1) 中文版:[http://yanhaijing.com/es5/#115](http://yanhaijing.com/es5/#115) 让我们开始了解规范吧! ## Types 首先是第...

深入系列

## 前言 最近完成了 TypeScript 最新官方文档 Hanbook 的翻译,一共十四篇,堪称国内的最好 TypeScript4 入门教程之一[。](https://cdn.jsdelivr.net/gh/mqyqingfeng/picture/%E6%88%AA%E5%B1%8F2021-12-12%20%E4%B8%8B%E5%8D%883.12.02.png)为了方便大家阅读,我用 VuePress + Github Pages 搭建了博客,博客效果如下: ![](https://cdn.jsdelivr.net/gh/mqyqingfeng/picture/screen2.png) ![](https://cdn.jsdelivr.net/gh/mqyqingfeng/picture/screen1.png) 博客地址如下: - Github [https://mqyqingfeng.github.io/learn-typescript/](https://mqyqingfeng.github.io/learn-typescript/) - Gitee [http://mqyqingfeng.gitee.io/learn-typescript/](http://mqyqingfeng.gitee.io/learn-typescript/) ## 0. VuePress VuePress 自然不用多说,基于 Vue 的静态网站生成器,风格简约,配置也比较简单。之所以不使用...

博客搭建

## 顺序执行? 如果要问到 JavaScript 代码执行顺序的话,想必写过 JavaScript 的开发者都会有个直观的印象,那就是顺序执行,毕竟: ```js var foo = function () { console.log('foo1'); } foo(); // foo1 var foo = function () { console.log('foo2'); } foo(); // foo2...

深入系列

## 前言 underscore 提供了 `_.escape` 函数,用于转义 HTML 字符串,替换 &, , ", ', 和 ` 字符为字符实体。 ```js _.escape('Curly, Larry & Moe'); => "Curly, Larry & Moe" ``` underscore 同样提供了 `_.unescape` 函数,功能与...

underscore系列

## 前言 本篇接着上篇 [underscore 系列之实现一个模板引擎(上)](https://github.com/mqyqingfeng/Blog/issues/63)。 鉴于本篇涉及的知识点太多,我们先来介绍下会用到的知识点。 ## 反斜杠的作用 ```js var txt = "We are the so-called "Vikings" from the north." console.log(txt); ``` 我们的本意是想打印带 `""` 包裹的 `Vikings` 字符串,但是在 JavaScript 中,字符串使用单引号或者双引号来表示起始或者结束,这段代码会报 `Unexpected...

underscore系列

## 写在前面 这篇文章讲解创建对象的各种方式,以及优缺点。 但是注意: 这篇文章更像是笔记,因为《JavaScript高级程序设计》写得真是太好了! ## 1. 工厂模式 ```js function createPerson(name) { var o = new Object(); o.name = name; o.getName = function () { console.log(this.name); }; return o; }...

深入系列

## 前言 在前端开发中会遇到一些频繁的事件触发,比如: 1. window 的 resize、scroll 2. mousedown、mousemove 3. keyup、keydown …… 为此,我们举个示例代码来了解事件如何频繁的触发: 我们写个 `index.html` 文件: ```html debounce #container{ width: 100%; height: 200px; line-height: 200px; text-align: center; color: #fff; background-color:...

专题系列

## 前言 TypeScript 的官方文档早已更新,但我能找到的中文文档都还停留在比较老的版本。所以对其中新增以及修订较多的一些章节进行了翻译整理。 本篇整理自 TypeScript Handbook 中 「[Keyof Type Operator](https://www.typescriptlang.org/docs/handbook/2/keyof-types.html)」 章节。 本文并不严格按照原文翻译,对部分内容也做了解释补充。 ## `keyof` 类型操作符 对一个对象类型使用 `keyof` 操作符,会返回该对象属性名组成的一个字符串或者数字字面量的联合。这个例子中的类型 P 就等同于 "x" | "y": ```typescript type Point = { x:...

TypeScript系列

## 前言 在上篇[《一篇带你用 VuePress + Github Pages 搭建博客》](https://github.com/mqyqingfeng/Blog/issues/235),我们成功的用 VuePress 搭建了博客并部署到 Github Pages,但由于 Github 的访问问题,我们可以选择把仓库部署到 Gitee 一份,利用 Gitee 的 Pages 服务再生成一份静态网站用于备用[。](https://cdn.jsdelivr.net/gh/mqyqingfeng/picture/%E6%88%AA%E5%B1%8F2021-12-13%20%E4%B8%8B%E5%8D%884.41.02.png) ## Gitee 导入仓库 上篇我们已经在 Github 创建了博客仓库,现在我们在 Gitee 绑定 Github 账号后,选择仓库导入:...

博客搭建