
前端js
文章平均质量分 62
小小码农,可笑可笑
看到就会解答的博主。前端vue,js相关
展开
-
为期两月的面试整理
目录一、js部分箭头函数与普通函数的区别Promise async和awaitjs继承事件循环机制(Event Loop)js事件阶段和事件委托js垃圾回收机制双等于‘==’引出的一系列违反常理的情况二、vue部分vue插件、指令、组件和过滤器vue组件通信方式vuex的使用、加载流程极其原理vue的生命周期父子组件生命周期的顺序vue2.0响应式原理vue3响应式相对于vue2的进步三、浏览器部分从页面输入一个url,到页面呈现,详细原创 2021-07-27 14:10:09 · 303 阅读 · 8 评论 -
仔细看看,会有收获。js深浅拷贝
直接通过Object.assign()实现深浅拷贝浅拷贝:const target = { a: 1, b: 2 ,c:new Date(),d:function() { console.log(this.d)}};let newObj = Object.assign(target,{});cc.a = 3console.log('newObj',newObj)console.log('target',target)原创 2021-06-02 15:06:12 · 145 阅读 · 11 评论 -
面试必备!JS:call详解以及自己手写call
不知道各位是否看到大佬写的代码,里面的代码很是简洁,但是this出现的很多,上下文的调用,this的指向我们被绕的头晕,但是大佬却信手拈来,我觉得其中call的作用功不可没,可见js进阶精通call的使用sh...原创 2021-05-29 18:50:17 · 733 阅读 · 12 评论 -
保姆级!Promise 10分钟 入门
创建期约时要穿执行器函数,否则会报错。 let p = new Promise(()=>{})let errorP = new Promise()//分别打印看看效果 期约的三种状态: 待定(pending) 兑现(fulfilled,也可称作解决,resolved) 拒绝(rejected) 期约从待定状态改变为兑现或拒绝,只能改变一次。 let p = new Promise((resolve,reject)=&g.原创 2021-05-26 20:26:27 · 716 阅读 · 18 评论 -
别百度正则了,一篇正则详解带你搞懂正则
语法模式:let expression = /pattern/flags正则里是两个东西的叠加元字符:( [ { \ ^ $ | ) ] } ? * + . 标记(flags): g:全局模式。表示查找字符串的全部内容。 i:不区分大小写。表示在查找匹配时忽略pattern 和字符串的大小写。 m:多行模式。表示查找到一行文本的末尾时会继续查找。 y:粘贴模式。表示只查找从lastIndex开始及之后的字符串。 u:Unicode模式。启用Unicode匹配。 s:doA原创 2021-05-25 14:11:43 · 1199 阅读 · 27 评论 -
闭包为什么会造成内存泄漏?
先说内存泄漏是什么内存泄漏:内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。再说说闭包是什么闭包:引用了另一个函数作用域中变量的函数,一般是嵌套形式。比如:function closure(){ let name = '小码农'; return function(){ return name; }}这就是个简单的闭包。要想理解闭包原创 2021-05-20 13:32:37 · 1913 阅读 · 0 评论 -
执行上下文和作用域
执行上下文也就是我们说的平常说的上下文 (context)下面的代码letname='小码农'和changeName()是一个上下文里的,函数changeName()中是一个上下文。ok,我们再来了解两个概念变量对象:每个上下文中都有一个绑定的变量对象,代码不可访问,但后台处理会用到它。 该上下文里面定义的所有函数和变量都存储在变量对象中。活动对象:如果上下文是函数,则此时变量对象就是活动对象,初始时只有一个arguments(不存在于全局上下文...原创 2021-05-19 17:57:40 · 382 阅读 · 5 评论 -
如何更精确的确定javascript的对象类型?
确定类型的三种方式:typeof用来确定原始类型,更准确的说用来确定变量是字符串,数值,布尔值和undefined。ES6后多了个Symbol。因为如果对象是null,typeof返回的是objectlet a = 3;let b = '3';let c = true;let d = undefined;let e = {} ;let f = ['1'] ;let g = new Object();let h = Symbol('bar');let i = null;cons原创 2021-05-19 14:38:38 · 153 阅读 · 0 评论 -
如何证明JavaScript中函数参数都是值传递
二话不说,上代码function setName(obj){ obj.name = '小码农';}let coder = new Object();setName(coder);console.log(coder.name);//小码农代码很简单,那我们思考下这里的obj和coder是什么关系?我们把问题陈述详细点。我们都知道JavaScript的变量类型有两种,一种是原始类型,一种是引用类型。 coder肯定是引用类型,正常我们说的引用类型的复制是复制引用,也就是指针(原创 2021-05-18 16:46:29 · 154 阅读 · 0 评论 -
ES6 简单数据类型Symbol(待深入)
一.Symbol是什么二.Symbol在实际应用中能做什么原创 2021-04-28 16:05:37 · 211 阅读 · 2 评论 -
input输入框简单组件,易更改
原因:前两天做一个需求,PC端的web页面。 input输入框选中要有高亮外边框。 有的需要可清空,有的需要计算字数。 输入框很多,避免代码冗余,也避免应付不同需求简单变更,同时节省时间 ps:ui组件的样式修改还是很烦的,不像自己的代码文件为vue文件,设计不好X和字数限制的位置,弄成有你没我的关系了哈哈哈<template> <div id="so_input"> ...原创 2021-04-25 17:45:44 · 173 阅读 · 2 评论 -
JS 微任务 宏任务 变量声明var let 在循环中的区别浅析
为什么把微任务宏任务和变量声明var、let放一起,因为正好在研究循环这里,同时看到var和let在循环中的区别,就放在一起了一、微任务宏任务首先微任务和宏任务是JavaScript循环事件异步调用中的定义,并在ES6中分别定义为jobs和task什么是宏任务? 宏任务就是由宿主发起的任务什么是微任务? 微任务是由JavaScript引擎线程发起的任务那什么是宿主? 宿主即为JavaScript的运行环境,浏览器和node 这里顺便提一嘴,node...原创 2021-03-18 22:04:09 · 277 阅读 · 2 评论