this 与 ES6的class
this 与 ES6的classthisthis这节课好像是在我那节课要讲的知识,但是由于时间问题,就没有讲了
因为不知道大家对它的理解如何,而且这一块应该是JS基础中的难点,所以今天就再给大家复习(or预习)一下
js中的this是很容易让人觉得困惑的地方,这篇文章打算说一下this绑定的几种情况,相信可以解决大部分关于this的疑惑。
this是在运行的时候绑定的,不是在编写的时候绑定的,函数调用的方式不同,就可能使this所绑定的对象不同。
一些前置知识浏览器环境
this === window:
1console.log(this); // window
12'use strict';console.log(this) // window
var在全局作用域声明的变量有一种行为会挂载在window对象上,它会创建一个新的全局变量作为全局对象的属性,这种行为说不定会覆盖到window对象上的某个属性,而let、const声明的变量则不会有这一行为:
12345678var a = 1;console.log(window.a); // 1const b ...
Babel知识汇总
Babel知识汇总
Babel使用方法:
总共存在三种方式:
使用单体文件 (standalone script)
命令行 (cli)
构建工具的插件 (webpack 的 babel-loader, rollup 的 rollup-plugin-babel)。
Babel原理babel是如何做到将我们的一段代码(ES6、TypeScript、React)转成另外一段代码(ES5)的呢?
通过编译器。编译器是从一种源代码(原生语言)转换成另一种源代码(目标语言)。事实上我们可以将babel看成 JavaScript 编译器,更确切地说是源码到源码的编译器,通常也叫做“转换编译器(transpiler)”。 意思是说你为 Babel 提供一些 JavaScript 代码,Babel 更改这些代码,然后返回给你新生成的代码。
工作流程Babel也拥有编译器的工作流程:
上面只是一个简化版的编译器工具流程,在每个阶段又会有自己具体的工作:
解析阶段(Parsing)将代码解析成抽象语法树(AST),每个JS引擎(比如Chrome浏览器中的V8引擎)都有自己的AST解析器, ...
Deno VS Node
Deno VS Node
Deno 是 Ryan Dahl 在2017年创立的。Ryan Dahl 也是 Node.js 的创始人,2012年后,他把 Node.js 移交给了其他开发者。
跟 Node.js 一样,Deno 也是一个运行时环境,但是支持多种语言,可以直接运行 JavaScript、TypeScript 和 WebAssembly 程序。
Deno是建立在:
Rust(Deno 的底层是用 Rust 开发,而 Node 是用 C++;正因如此,由于 Rust 原生支持 WebAssembly,所以Deno也能直接运行 WebAssembly)
Tokio(Deno 的事件机制是基于 Tokio,而 Node 是基于 libuv)
TypeScript
V8(用来解释 JavaScript)
tsc(解释 TypeScript)
Deno 只有一个可执行文件,所有操作都通过这个文件完成。它支持跨平台(Mac、Linux、Windows)。
Deno的架构
Deno 以 Rust 作为启动入口,通过 Rust FFI 去执行 C++ 代码,然后在 C++ 中引入 ...
Web前端第四次课
2021Web前端第四次课课件
First Blog
First Blog经过三天的时间,我终于搭建好了我的博客!!!🤣
为什么会想搭建博客?
作为一个前端,总不能连博客都没有吧(手动狗头
希望在搭建博客的过程中了解更多的知识
有一个自己整理笔记、前端知识的space
方便自己日后review
搭建博客过程其中有两天的时间都在调整博客的样式😂
但是想要把博客搭成自己喜欢的样子确实很费时间,很花心思。期间看了很多其他大佬的blog,确实都很好看,但是太耗时间,再加上自己也比较喜欢简易点、冷淡点的风格,就搞得比较简单了。
最后一天将博客部署上去,之前一直觉得这一步会很麻烦。但是实践后发现没有想象中那么困难,只要照着其他大佬的教程部署还是挺简单的(虽然也问了路神一些问题。
搭建博客的心得发现hexo确实很方便,几个傻瓜式命令再改点配置就可以创建一个博客
日后有时间再搞得花里胡哨点😳
在搭建博客的过程学到了一些Linux命令,发现了自己对Linux所知甚少,之后有时间一定要好好了解一波Linux知识。