你不知道的JavaScript
文章平均质量分 62
JavaScript系列,包括ECMAScript 3/5/6/7/8/9、jQuery、TypeScript、DOM、BOM、底层原理、堆栈内存、闭包作用域、面向对象OOP、this、EventLoop、浏览器渲染原理、回流重绘等。
航小码
7年经验的骨灰级前端工程师,外企前端架构师,IPMP C级,北航优秀毕业生,北航优秀研究生,欢迎撩工作~~
展开
-
【TS】常见的 TS 语法总结
常见的TS语法总结原创 2022-07-19 11:31:47 · 429 阅读 · 0 评论 -
JavaScript面向对象精要
JavaScript面向对象精要JavaScript面向对象精要1.原始类型和引用类型1.1 什么是类型1.2 原始类型鉴别原始类型原始方法1.3 引用类型创建对象对象引用解除添加删除属性1.4 内建类型实例化字面形式1.5 访问属性1.6 鉴别引用类型1.8 原始封装类型1.9 总结2. 函数2.1 声明还是表达式2.2 函数就是值2.3 参数2.4 重载2.5 对象方法2.5.1 this 对象2.5.2 改变 this2.6 总结3.理解对象3.1 定义属性3.2 属性探测3.3 删除属性3.4 属性原创 2022-01-22 16:36:55 · 479 阅读 · 0 评论 -
ECharts,一个基于Javascript的数据可视化库
一个基于Javascript的数据可视化库EChartsEcharts 由百度的前端技术部开发,是一款难得的由国内厂商开源的JS代码库,相比同类产品如 highcharts,google charts 都有着相当的竞争力。并且用的人不少,说明文档较容易找到,上手简单。现有的网页端数据可视化实现方式大多分为两种,一种是基于SVG以矢量图形显示,另一种是以canvas画布的方式实现。一些库的实现完全使用svg实现,如highcharts,优点是兼容性较好,由于svg是一项比较成熟的标准,...原创 2021-12-07 15:56:12 · 1601 阅读 · 0 评论 -
jQuery-UI draggable在移动端浏览器不起作用解决方案
遇到jQuery-UI draggable微软平板Surface浏览器下不起作用,可用此方法解决。// 扩展jQuery-UI功能,draggable在移动端浏览器不起作用解决方案,同时支持点击// This is a fix for mobile devicesvar moveFlag = 0;// 判断是不是iPad|iPhone|Android,判断是不是微软平板Surface(/iPad|iPhone|Android/.test(navigator.userAgent) || window原创 2021-12-07 15:00:23 · 1045 阅读 · 0 评论 -
HTTP跨域和调试技巧
HTTP基础前端需要关心URL、headers和data,接下来围绕它们展开。1.了解URLURL比较简单,就简单介绍一下,将URL分为主要的3部分:router,路由。路由地址可不能错,这就跟收件地址一样,填错收货的就不是既定的那个人了。 search,查询字符串,就是?后面的字符串,以键值对的形式通过“&”连接,例如:“?key1=value1&key2=value2”。查询字符串就是发送到后台的数据,跟普通的post请求相比,get请求以明文的形式存储在访问历...原创 2021-12-08 11:54:08 · 623 阅读 · 0 评论 -
强基03-JavaScript中的构造函数、原型、原型链
JS中的构造函数、原型、原型链原创 2021-12-08 11:18:24 · 506 阅读 · 0 评论 -
强基02-JavaScript闭包的9大经典使用场景
1.返回值(最常用)//1.返回值最常用的functionfn(){varname="hello";returnfunction(){returnname;}}varfnc=fn();console.log(fnc())//hello这个很好理解就是以闭包的形式将 name 返回。2.函数赋值varfn2;functionfn(){varname="hello";//将函数赋值给...原创 2021-12-08 11:14:06 · 69 阅读 · 0 评论 -
强基01-JavaScript的作用域知识
作用域的概念现代编程语言的最基本功能之一就是能够存储变量当中的值,以便于之后的使用于修改。也正是这个功能将状态带给了程序。在JavaScript中,作用域就是一套设计良好的规则来存储变量。简述编译原理通常我们会将JavaScript归类为“动态”或“解释执行“语言,但它实际上是一门编译语言。与传统的编译语言不同,它不是提前编译的,编译结果也不能在分布式系统中进行移植。例如V8引擎,为了提高JavaScript代码的运行性能,在运行之前会先将其编译为本地的机器码,然后再去执行机器码,达到提原创 2021-12-08 11:11:11 · 56 阅读 · 0 评论 -
前端异常埋点问题
开发者有时会面临上线的生产环境包出现了异常bug,在长期生产bug并修复bug的循环中总结出以下几个痛点: 无法快速定位到发生错误的代码位置,因为脚手架构建时会用webapck自动帮我们压缩代码,而上线版本又通常不会保留source map(开源贡献者除外) 无法第一时间通知开发人员异常发生 不知道用户OS与浏览器版本、请求参数(如页面ID);而对于页面逻辑是否错误问题,通常除了用户OS与浏览器版本外,需要的是报错的堆栈信息及具体报错位置。 错误埋点追踪系统的出现就是为了应.原创 2021-12-07 15:14:32 · 647 阅读 · 0 评论 -
浏览器的垃圾回收及内存泄漏的情况
通过 4 个问题,来了解浏览器垃圾回收的过程,后面会逐一解答:浏览器怎么进行垃圾回收?浏览器中不同类型变量的内存都是何时释放?哪些情况会导致内存泄露?如何避免?weakMap weakSet 和 Map Set 有什么区别?什么是垃圾数据?生活中你买了一瓶可乐,喝完之后可乐瓶就变成了垃圾,应该被回收处理。同样地,我们在写 js 代码的时候,会频繁地操作数据。在一些数据不被需要的时候,它就是垃圾数据,垃圾数据占用的内存就应该被回收。变量的生命周期比如这么一段代码:let dog = ne原创 2021-12-06 15:29:00 · 221 阅读 · 0 评论 -
前端实现文件流导出excel表
请求options配置getResponse为true,responseType为"blob"原创 2021-11-26 18:01:57 · 497 阅读 · 0 评论 -
总结常用的前端JavaScript方法封装
1 输⼊⼀个值,返回其数据类型function type(para) {return Object.prototype.toString.call(para)}2 数组去重function unique1(arr) {return [...new Set(arr)]}function unique2(arr) {var obj = {};return arr.filter(ele => {if (!obj[ele]) { obj[ele] = true;return tru原创 2021-12-06 19:23:13 · 306 阅读 · 0 评论 -
JavaScript深拷贝和浅拷贝
深拷⻉ 浅拷⻉⾸先说下堆栈,基本数据类型与引⽤数据类型,深拷⻉与浅拷⻉与此相关。⼀、基本数据类型 和 引⽤数据类型1.变量类型分为两类: 基本数据类型: number , string , boolean , null , undefined , symbol引⽤数据类型:统称为 Object 类型,细分的话,有: Object , Array , Date , Function 等。2.存储⽅式:a.基本数据类型保存在 栈 内存,形式如下:栈内存中分别存储着变量的标识符以及变量的 值。例:原创 2021-12-06 16:41:38 · 217 阅读 · 0 评论 -
ES2020中Javascript 的10个新功能
ES2020中Javascript 的10个新功能链接: https://mp.weixin.qq.com/s/LC94pLmfZ-2Ofhhjtmrr3A.原创 2021-12-06 16:05:29 · 159 阅读 · 0 评论