摘要: JavaScript 闭包难点剖析 一、作用域基本介绍 ES6之前只有全局作用域与函数作用域两种,ES6出现之后,新增了块级作用域 1.全局作用域 在JavaScript中,全局变量是挂载在window对象下的变量,所以在网页中的任何位置你都可以使用并且访问到这个全局变量 当我们定义很多全局变量的时 阅读全文
posted @ 2022-11-07 16:38 hellocoder2029 阅读(20) 评论(0) 推荐(0)
摘要: 为什么使用this 先看个例子: function identity() { return this.name.toUpperCase(); } function speak() { return "Hello, i'm " + identity.call(this); } var me = { n 阅读全文
posted @ 2022-11-07 16:37 hellocoder2029 阅读(40) 评论(0) 推荐(0)
摘要: Javascript 的隐式强制只是指 Javascript 试图将意外的值类型强制为预期的类型。因此,您可以在需要数字的地方传递一个字符串,在需要字符串的地方传递一个对象等,它会尝试将其转换为正确的类型。这是最好避免的 Javascript 功能。 3 * "3" //9 1 + "2" + 1 阅读全文
posted @ 2022-11-02 10:21 hellocoder2029 阅读(28) 评论(0) 推荐(0)
摘要: 懒加载和预加载的目的都是为了提高用户的体验,二者行为是相反的,一个是延迟加载,另一个是提前加载。懒加载对缓解服务器压力有一定作用,预加载则会增长服务器前端压力缓存。 懒加载 lazyload 懒加载:又叫延迟加载、按需加载,当我们打开一个网页,优先展示的首屏图片就先加载,而其他的图片,等到需要去展示 阅读全文
posted @ 2022-11-02 10:21 hellocoder2029 阅读(334) 评论(0) 推荐(0)
摘要: 前言 this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。 简单说,this就是属性或方法“当前”所在的对象。 this.property 上面代码中,this就代表property属性当前所在的对象。 下面是一个实际的例子。 var person = { 阅读全文
posted @ 2022-11-01 15:41 hellocoder2029 阅读(79) 评论(0) 推荐(0)
摘要: 前言 现在前端面试Vue中都会问到响应式原理以及如何实现的,如果你还只是简单回答通过Object.defineProperty()来劫持属性可能已经不够了。 本篇文章通过学习文档及视频教程实现手写一个简易的Vue源码实现数据双向绑定,解析指令等。 几种实现双向绑定的做法 目前几种主流的mvc(vm) 阅读全文
posted @ 2022-11-01 15:40 hellocoder2029 阅读(47) 评论(0) 推荐(0)
摘要: 提问 Object.defineProperty()和proxy的区别? 为什么vue3要选用proxy,好处是什么? proxy Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。 Proxy的用法,这个大家都知道 const p = n 阅读全文
posted @ 2022-11-01 15:39 hellocoder2029 阅读(139) 评论(0) 推荐(0)
摘要: JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个概念一知半解,碰到问题靠“猜”,却不理解它的规则! prototype 只有函数有prototype属性 let a 阅读全文
posted @ 2022-10-31 11:04 hellocoder2029 阅读(33) 评论(0) 推荐(0)
摘要: 写在前面 javascript语言的执行环境是"单线程"(single thread),就是指一次只能完成一件任务。如果有多个任务,就必须排队,等前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等 阅读全文
posted @ 2022-10-31 11:03 hellocoder2029 阅读(52) 评论(0) 推荐(0)
摘要: JavaScript进阶的必要性 无论是学习react还是vue,它们都是js的应用框架。剥去他们的壳子看到的始终是js,所以作为一个前端大厨必须要熟练掌握好js这个大勺,才能烧出一顿好菜 无论是自我提升还是应付面试以下这些手写功能是每一个前端程序员必须掌握的 1. 手写apply、call、bin 阅读全文
posted @ 2022-10-31 11:02 hellocoder2029 阅读(45) 评论(0) 推荐(0)