![](https://img-blog.csdnimg.cn/2020012014320161.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
朝霞的光影笔记
看10遍,不如写1遍。
写1遍不会,那就写10遍。
公号首发:朝霞的光影笔记
ID:zhaoxiajingjing
→→→→ 多学一点知识,就少写一行代码
景同学你好
这个作者很懒,什么都没留下…
展开
-
2句话,1道题,1张图:带你捋清楚【原型和原型链】
文章目录0 / 两句话1 / 一道题 and 一张图0 / 两句话JS中面向对象的底层处理机制:第一句话:=> 每一个(除了三种特例,以外的)函数数据类型,都天生自带一个属性:prototype原型属性,其属性值是:一个对象(Function.prototype除外)=> 这个prototye原型对象中天生自带一个属性:constructor,其属性值是:当前构造函数本身第二句话:=> 每一个对象数据类型值,都天生自带一个属性:_proto_ 原型链属性(或者叫:隐式原型).原创 2020-12-23 10:12:15 · 192 阅读 · 0 评论 -
new的三步曲 | 初识面向对象
文章目录0 / 编程语言有哪些1 / 面向对象思想(1)内置类(2)自定义类2 / 小结0 / 编程语言有哪些面向对象 OOP :java、javascript、php、C#(ASP.NET)、Python、GO、C++、Ruby…面向过程 POP :C标记语言:HTML、CSS面向对象编程,我们需要学什么呢?对象、类、实例① 对象:万物皆对象(这是泛指)② 类:是对 对象 的划分,按照其功能结构特点等,划分出大类和小类③ 实例:类中 具体 的事务JS本身就是基于面向对象思想开发出来.原创 2020-12-22 10:46:36 · 294 阅读 · 0 评论 -
思维导图 | 全面分析let和var的区别
文章目录0 / 可以声明变量的关键字1 / let VS const2 / let VS var(1)区别1:`var` 存在变量提升,而`let`不存在(2)区别2:全局执行上下文的映射机制① let VS var② 全局执行上下文中:不写var③ 函数中:不写var(3)区别3:重复声明(4)区别4:暂时性死区与typeof(5)区别5:块级作用域① 上下文&作用域② let 的闭包3 / 小结:let和var的区别0 / 可以声明变量的关键字EC5:var/functionEC6:l.原创 2020-12-21 10:45:51 · 190 阅读 · 0 评论 -
JavaScript | 这些数据类型检测你确定会了吗?
0 / JS中创建值的两种方式JS 中创建一个值有两种方案:① 字面量方式 ② 构造函数方式注意:构造函数方式① 不能 new Symbol/new BigInt② 可以Object(symbol)/Object(bigint)其他数据类型值也可以,但是排除null/undefined//=> 字面量方式let n = 100;let obj = {};//=> 构造函数方式let m = new Number(100);let obj2 = new Object();.原创 2020-12-17 10:59:36 · 138 阅读 · 0 评论 -
JavaScript | 图解 | 闭包应用之循环事件绑定的N种解决办法
文章目录0 / 闭包(1)闭包优点(2)闭包的弊端1 / 闭包应用(1)事件绑定(2)方案一:基于闭包的机制完成第一种闭包第二种闭包第三种闭包(3)方案二:自定义属性(4)方案三:事件委托0 / 闭包闭包:函数运行的一种机制(不是某种代码形式)(1)闭包优点1、函数执行会形成一个私有上下文,如果上下文中的某些内容(一般是指堆内存地址)被上下文以外的一些事物(例如:变量/事件绑定等)所占用,则当前上下文不能被出栈释放【浏览器的垃圾回收机制GC所决定的】闭包的机制:形成一个不被释放的上下文(1)保.原创 2020-12-15 10:16:26 · 270 阅读 · 0 评论 -
从EC/VO/AO堆栈内存和作用域角度分析compose函数 | 跟着redux大佬学编程思想
文章目录0 / 热热身1 / redux 中的compose函数2 / 逐步分析(1)compose()函数调用① reduce第一轮遍历② reduce第一轮遍历③ reduce第三轮遍历(4)reduce遍历结束后,赋值③ 0xA003(0) 执行② 0xA002() 调用① 0xA001() 调用0 / 热热身function fun(n, o) { console.log(o); return { fun: function (m) { .原创 2020-12-14 10:12:02 · 214 阅读 · 0 评论 -
JavaScript | 思维导图 | 这些高阶函数你都会了吗?
0 / 闭包作用域练习题闭包的作用:① 保护 ② 保存let x = 5;function fn(x){ return function (y) { console.log(y + (++x)); }}let f = fn(6);f(7);fn(8)(9);f(10);console.log(x);△ 结果是?(1)++i 和 i++ 的区别let i = 1;i++;console.log(i);i=1;i+=1; // i=i+1;.原创 2020-12-11 09:39:53 · 236 阅读 · 0 评论 -
JavaScript | 思维导图 | 掌握变量提升的处理机制
0 / 变量提升处理机制变量提升:在当前上下文中(全局/私有/块级),JS代码自上而下执行之前,浏览器会处理一些事情(可以理解为词法解析的一个环节,词法解析一定是发生在代码执行之前的):会把当前上下文中所有带var/function关键字的进行提前声明或者定义var a = 10;① 声明 declare:var a;② 定义 defined:a = 10;带VAR的只提前声明带FUNCTION的会提前声明+定义函数名就是变量名,函数是对象数据类型的需要堆内存存储现在代码基本都用ES6..原创 2020-12-10 09:32:59 · 74 阅读 · 0 评论 -
JavaScript | 深度剖析4大数据类型转换规则
0 / 把其他数据类型转换为Number类型(1)指定需要转换为Number的1、Number(value)2、parseInt(string, radix)/parseFloat(string)Number转换机制把其他类型(string/boolean/null/undefined/symbol/bigint/object)使用Number转换为数字:1、字符串中只要出现非有效数字,结果就是NaN2、Number(true) 是1,Number(false) 是03、Number(nu.原创 2020-12-09 16:34:24 · 263 阅读 · 0 评论 -
JavaScript 的函数底层运行机制
文章目录0 / 题(1)第一题(2)第二题1 / 引用数据类型:object2 / 引用数据类型:function(1)第二题,简图(2)创建函数(3)执行函数(4)闭包3 / 练习题(1)第一题(2)第二题(3)第三题0 / 题(1)第一题var a = {n: 1};var b = a;a.x = a = {n: 2};console.log(a.x);console.log(b);△ 引用数据类型:object(2)第二题var x = [12, 23];function fn原创 2020-12-08 16:39:35 · 242 阅读 · 0 评论 -
8大知识点+16篇总结(含31道面试题解)+9张思维导图 | 梳理JavaScript堆栈内存和闭包作用域
一、 JS的9种数据类型的一些细节点(1)JS中的数据类型基本数据类型1、 string ,可以用双引号、单引号、反引号2、 number ,比如:值有123/1.2/NaN/Infinity/-Infinity...3、 boolean,值为true/false4、 null,值为null5、 undefined,值为undefined6、 bigint7、 symbol,用于创建唯一值引用数据类型1、 object 例如:① {}普通对象② []数组对象③ 日期对象④ .原创 2020-12-07 10:32:22 · 522 阅读 · 0 评论 -
JavaScript 数据类型的一些细节点
`var a = 12;`**第一步**:创建值① 基本值直接存到栈内存中② 引用值是单独开辟一块新的内存来存储**第二步**:声明变量 declare**第三步**:变量和值关联在一起,定义defined原创 2020-11-07 19:28:38 · 107 阅读 · 0 评论 -
OOP | 构造函数模式
构造函数模式单例模式、高级单例模式:优点:把描述事务的信息都放到一个命名空间中进行归类,防止全局变量污染缺点:不能批量生产工厂模式:优点:用函数来封装创建对象的细节,低耦合(减少一个一个创建对象的冗余代码)、高内聚(提高代码复用率)缺点:不清楚一个对象的类型,没有解决对象识别的问题function createPerson(name, ag.原创 2020-07-24 10:56:50 · 221 阅读 · 0 评论 -
OOP | 单例设计模式和工厂设计模式
假设:你需要录入两个人的信息:李雷和韩梅梅。不要问我他们是谁我本来想举个例子,叫"妈妈喊你去相亲"。后来一想,换个例子吧,被妈妈说也就算了,看个代码还要被扎心,太可怜了吧在最开始学代码时候,我可能会这样写▽原创 2020-06-23 14:15:39 · 212 阅读 · 0 评论 -
图解 | THIS的题目
找THIS的方法:1、给元素的某个事件绑定方法,当事件触发执行的时候,方法中的this就是当前操作的元素本身2、当方法执行时,我们看方法前面是否有【点】:没有【点】,this=>window(严格模式:undefined);有【点】,this=>点前面是谁1 / 题目解析本着以上两条原则来看题目(1)请问打印几次,.原创 2020-06-23 13:49:19 · 239 阅读 · 0 评论 -
整理 | 数组的常用方法
数组是引用数据类型的对象数据类型(特殊的对象)。创建一个数组,需要开辟一个堆内存,以键值对的形式存储数组内容。(1)数组属性名默认是数字。数字从零开始递增,表示当前是第几项,把这个数字称为”索引“。数组是以数字为索引,索引从零开始递增的结构。(2)默认存在一个length属性,代表数组的长度,是可以动态调整的。(3)数组中的每一项.原创 2020-06-23 13:42:06 · 541 阅读 · 0 评论 -
理解 | 如何判断THIS(一、二)
this对象是函数执行的主体(不是上下文),即:是谁把函数执行的,那么执行主体就是谁。谁触发这个函数执行/调用了,谁就是this。函数定义:开辟一个堆内存,把函数体的内容以字符串的格式存储进去。函数执行:开辟一个全新的栈内存/私有作用域/执行上下文,供函数体中的代码自上而下执行。谁指使函数去开辟栈内存了,谁就是this.原创 2020-06-23 13:32:26 · 174 阅读 · 0 评论 -
下 | iview的Table组件合并列,升级代码
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画【前情提要】题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)图解 | 作用域和作用域链练习题 | 作用域和作用域链图解 | 理解...原创 2020-05-06 12:55:10 · 318 阅读 · 0 评论 -
上 | iview的Table组件合并列demo
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画【前情提要】题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)图解 | 作用域和作用域链练习题 | 作用域和作用域链图解 | 理解...原创 2020-05-06 12:49:00 · 738 阅读 · 0 评论 -
读源码 | 跟着 iview 的大佬们学编程思想
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画【前情提要】题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)图解 | 作用域和作用域链练习题 | 作用域和作用域链图解 | 理解...原创 2020-05-06 12:42:11 · 279 阅读 · 0 评论 -
理解 | 堆内存栈内存释放、null和{}、undefined的区别
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画【前情提要】题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)图解 | 作用域和作用域链练习题 | 作用域和作用域链图解 | 理解...原创 2020-05-06 12:30:47 · 1374 阅读 · 0 评论 -
案例 | iview中Table:拖拽适配列、自定义固定列、合并行
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing0 / 更新Table"iview": "2.13.0",对比最新版本的iview:4.1.3中的Table功能,获取最新功能:拖拽、合并行等。【PS:由于一些原因不能统一升级整个iview,我动了源码这很不好,望大佬们不吝赐教更好的方案~】1 / Table的拖拽适配列在table.vue文件中h...原创 2020-04-07 21:33:21 · 2566 阅读 · 2 评论 -
案例 | 闭包作用:保护和保存
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画前情提要:题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)图解 | 作用域和作用域链练习题 | 作用域和作用域链图解 | 理解闭...原创 2020-03-29 16:30:05 · 459 阅读 · 0 评论 -
图解 | 理解闭包
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画前情提要:题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)图解 | 作用域和作用域链0 / 看图说话var n = 1;f...原创 2020-03-29 16:12:18 · 359 阅读 · 0 评论 -
练习题 | JavaScript的作用域和作用域链
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画【前情提要:点击蓝色字可查看】题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)图解 | 作用域和作用域链0 / 作用域和作用域...原创 2020-03-29 16:02:16 · 216 阅读 · 0 评论 -
解决 | iview低版本实现表格拖拽,滚动条列宽计算问题
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing如果大佬觉得我的方案太low,请打脸轻一点~如果大佬有更好的方案,请不吝赐教~0 /需求"iview": "2.13.0"由于一些原因,版本并没有升级【os:不要问我什么原因~】。项目中表格实现的功能:普通表格固定列自定义选择展示列合并行合并列合并表头由于列数较多,用户想要自...原创 2020-02-18 18:59:24 · 964 阅读 · 0 评论 -
图解 | JavaScript的作用域和作用域链
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画前情提要:题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)题目 | 带VAR和不带VAR的区别图解 | 带VAR和不带VAR的区别总结 | LET和VAR区别(三、四)0 /GO/VO/AOECStack:Execution [ˌe...原创 2020-02-10 14:09:22 · 273 阅读 · 0 评论 -
VSCODE自动换行
vscode 注释和代码,折行的配置:File>>Preferences>>Settings>>Workspace>>搜索WordWrap>>Text Editor>>把off换成on原创 2020-02-04 20:04:54 · 787 阅读 · 0 评论 -
VSCODE多行注释
vscode 多行注释,修改快捷键:File>>Preferences>>Keyboard Shortcuts>>搜索comment>>Toggle Block Comment>>编辑>>按下键盘快捷键>>“回车”确定...原创 2020-02-04 07:51:02 · 1272 阅读 · 0 评论 -
Promise | 手写原理(代码版)
Promise的好处Promise 可以解决的问题把你从回调地狱中解救出来让你优雅的捕获错误为你分担异步并发的难题// 此处使用node举例,不会不要紧,先混个脸熟。再见就不陌生了呀let fs = require('fs');// 异步读取文件fs.readFile('./name', function (err, data){ if(err){} fs.re...原创 2020-01-20 14:28:35 · 177 阅读 · 0 评论 -
Promise | all、race方法(代码版)
Promise这次,主要介绍 Promise 的all方法和race方法的原理。【Promise | 手写原理】【Promise | catch、finally 方法】all 方法使用let fs = require('fs');let p = new Promise((resolve, reject) => { fs.readFile('./name.txt', ...原创 2020-01-20 14:37:32 · 166 阅读 · 0 评论 -
Promise | 想要一次测试通过,这样做
十月一长假回来,再次写 Promise 原理的代码,写了7遍,累计3遍是一次通过测试的。随后的几天就写顺手了,基本3遍以内就通过测试了。现在一遍即过。通过几天集中的刻意训练,我发现这样做更有效:知道什么是对的。把错误的备份,梳理思路排****查错误。熟练以后,要整体思考,怎么写才能更合理**。**1一定、一定、一定,要知道什么是对的,然后再加强刻意练习。以前...原创 2020-01-20 14:36:00 · 163 阅读 · 0 评论 -
Promise | catch、finally 方法实现(代码版)
Promise 的方法经过手写 Promise 的原理后,再来理解 Promise 的方法,会更加容易了。好啦,我们直接上代码~原理传送门: 手写 Promise 原理catch 方法使用catch 方法是 then 方法的语法糖,只接受 rejected 态的数据。let p = new Promise((resolve, reject) => ...原创 2020-01-20 14:34:59 · 879 阅读 · 0 评论 -
题目 | 带VAR和不带VAR的区别
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画前情提要:题目 | let和var的区别(一、二)图解 | let和var的区别(一、二)1 /请回答a = 1;console.log(a);console.log(window.a);var b = 2;console.log(b);console.log...原创 2020-01-20 14:17:03 · 143 阅读 · 0 评论 -
题目 | let和var的区别(一、二)
文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画来来来,请拿出纸和笔,画一画算结果,算完后再用浏览器运行哦请做题输出结果是?console.log(a);var a = 1;var b = a;b = 2;console.log(a);输出结果是?console.log(sum(1, 2));functio...原创 2020-01-20 14:14:50 · 189 阅读 · 0 评论