03 2022 档案
摘要:一、React Hook Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 1.要解决什么问题? 可以在函数组件中使用状态、模拟组件的生命周期 可以复用组件状态及相关的变更逻辑。 2. 使用注意事项 不要在循环,
阅读全文
摘要:刚接触bable的同学可能会认为使用了Babel,配置了preset预设后就可以愉快的使用 es6+做开发了,事实上,在默认情况下Babel只会做语法转换(let、const、class、箭头函数等),而不做新api的转换,新的api总结起来分为两类: 全局对象和全局对象相关的方法,例如Promis
阅读全文
摘要:一、配置文件 几乎所有的前端工程师都知道可以用babel将es6+的语法转换为es5,转换工具要么使用babel-cli,要么使用webpack的babel-loader,不管使用哪种转换工具,通常都需要一个配置文件来建立转换规则(也可以在webpack的babel-loader的配置项,原理都一样
阅读全文
摘要:在js中创建一个变量时,会自动分配内存空间,当变量不再被使用时,垃圾回收机制会自动释放相应的内存空间。 如何判断一个变量不在被使用?方法有两种: 一、引用计数法: 引用计数的判断原理很简单,就是看一份数据是否还有指向它的引用,若是没有任何对象再指向它,那么垃圾回收器就会回收,其策略是跟踪记录每个变量
阅读全文
摘要:一、场景 0.1 + 0.2 = 0.30000000000000004 1.5 - 1.2 = 0.30000000000000004 19.9 * 100 = 1989.9999999999998 0.3 / 0.1 = 2.9999999999999996 二、原因 js中的数字只有 Numb
阅读全文
摘要:一、执行上下文: 所谓执行上下文就是js代码的执行环境。 js引擎先编译,再解释执行代码。编译时会找到所有的标识符,做变量和函数声明提升。我们习惯将var a = 2; 看作一个声明,而实际上JavaScript 引擎并不这么认为。它将var a 和a = 2 当作两个单独的声明,第一个是编译阶段的
阅读全文
摘要:严格模式主要有以下几方面的作用及内容: 一、对作用域的限制: 使用未经声明的变量,报错(防止变量作用域提升); eval语句内声明的变量,作用域限制在eval之内(非严格模式时,eval语句内变量的作用域与eval所在作用域一致); 二、防止性能问题 动态作用域无法使用编译阶段-词法分析已经确定的作
阅读全文
摘要:1.引用变量值的var函数,可以指定第二个参数做为默认值(即当变量不存在时,使用该值),需注意的点 第二个参数不要加单双引号,正确的示例:var(--x,#fffff) 第二个参数中的空格不会被忽略 var(--margin,10px 20px) 2. 变量值的写法 变量值有单位时,不能写成字符串格
阅读全文