摘要: 前言 作用域和作用域链是所有JavaScript开发人员每天都要接触和应用的内容。不管是面试中的作用域链的面试考察,还是日常代码研发中变量与作用域链的构建,它的身影几乎无处不在。它就像一顶优秀厨师的厨师帽,只要我们走进厨房,我们就要将它整理好,套在头上。没有它整洁干净的戴在头上,你就不是一名好的Ja 阅读全文
posted @ 2022-10-27 15:40 hellocoder2029 阅读(33) 评论(0) 推荐(0)
摘要: 什么是函数式编程 是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。 函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。 函数式编程的思维过程是完全不同的,它的着眼点是函数 阅读全文
posted @ 2022-10-27 15:39 hellocoder2029 阅读(66) 评论(0) 推荐(0)
摘要: 引用类型是一种数据结构,用于将数据和功能联系起来。 创建对象的方式: 1.new操作符 var array=new Array(); 2.字面量表示法创建 var array=[]; Array 检测数组:检测数组是基本类型还是引用类型 转换方法:将数组转换成字符串或数组对象 栈方法:后进先出的操作 阅读全文
posted @ 2022-10-26 14:57 hellocoder2029 阅读(139) 评论(0) 推荐(0)
摘要: JS中的递归 我们来看一个阶乘的代码 function foo( n ){ if(n <= 1){ return 1; } return n * foo( n - 1 ); } foo(5); // 120 下面分析一下,代码运行过程中,执行上下文栈是怎么变化的 这个代码是在全局作用域中执行的,所以 阅读全文
posted @ 2022-10-26 14:56 hellocoder2029 阅读(72) 评论(0) 推荐(0)
摘要: 一、作用域与作用域链 作用域是指 js 变量使用时所存在的一个区域,分为全局作用域(window)和局部作用域(function、setTimeout...等都会产生局部作用域)。当局部作用域变量名与全局作用域变量名重复时,局部变量会覆盖全局变量。 在局部作用域使用变量时,如果在自己作用域找不到对应 阅读全文
posted @ 2022-10-25 12:59 hellocoder2029 阅读(61) 评论(0) 推荐(0)
摘要: 前言 JavaScript是一门解释性动态语言,但同时它也是一门充满神秘感的语言。如果要成为一名优秀的JS开发者,那么对JavaScript程序的内部执行原理要有所了解。 本文以最新的ECMA规范中的第八章节为基础,理清JavaScript的词法环境和执行上下文的相关内容。这是理解JavaScrip 阅读全文
posted @ 2022-10-25 12:56 hellocoder2029 阅读(60) 评论(0) 推荐(0)
摘要: 懒加载和预加载的目的都是为了提高用户的体验,二者行为是相反的,一个是延迟加载,另一个是提前加载。懒加载对缓解服务器压力有一定作用,预加载则会增长服务器前端压力缓存。 懒加载 lazyload 懒加载:又叫延迟加载、按需加载,当我们打开一个网页,优先展示的首屏图片就先加载,而其他的图片,等到需要去展示 阅读全文
posted @ 2022-10-21 17:14 hellocoder2029 阅读(299) 评论(0) 推荐(0)
摘要: 提问 Object.defineProperty()和proxy的区别? 为什么vue3要选用proxy,好处是什么? proxy Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。 Proxy的用法,这个大家都知道 const p = n 阅读全文
posted @ 2022-10-21 16:52 hellocoder2029 阅读(104) 评论(0) 推荐(0)
摘要: 浏览器缓存步骤 1)浏览器在加载资源时,先根据这个资源的一些http header判断它是否命中强缓存,强缓存如果命中,浏览器直接从自己的缓存中读取资源,不会发请求到服务器。比如某个css文件,如果浏览器在加载它所在的网页时,这个css文件的缓存配置命中了强缓存,浏览器就直接从缓存中加载这个css, 阅读全文
posted @ 2022-10-21 16:39 hellocoder2029 阅读(282) 评论(0) 推荐(0)
摘要: JS中的递归 我们来看一个阶乘的代码 function foo( n ){ if(n <= 1){ return 1; } return n * foo( n - 1 ); } foo(5); // 120 下面分析一下,代码运行过程中,执行上下文栈是怎么变化的 这个代码是在全局作用域中执行的,所以 阅读全文
posted @ 2022-10-21 16:32 hellocoder2029 阅读(38) 评论(0) 推荐(0)