- 博客(15)
- 收藏
- 关注
原创 JavaScript碎知识总结
for循环中放定时器造成的异步问题//问题复现for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000);}console.log(i)//实际输出5->5 5 5 5 5 //->代表间隔了1s如果我们期待的输出是5 -.> 0,1,2,3,4 有几种改写方式呢?//第一种、使用闭包中的IIFE(立即执行函数)for (var
2021-10-17 23:45:14 102
原创 读完这几篇文章了解session cookie和token(个人归档系列)
看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了Persistent cookies和Session cookies的定义与区别彻底理解cookie,session,token
2021-09-08 22:59:30 123
原创 js红宝书读书笔记之第三章基本概念
第三章、基本概念js是一门区分大小写的语言(php不区分大小写)标识符命名规则以字母/下划线/美元符号$ 开头其他字符可以是字母/下划线/美元符号$/数字不允许使用关键词或保留字推荐使用驼峰命名严格模式可全局 / 可局部使用(“use strict”)typeof的使用返回object的可能---->null/对象返回function的可能----> 函数对于未声明的变量,只能进行一项操作就是typeof,返回undefinedvar a;
2021-08-12 10:55:40 152
原创 js原型链+继承+this new call apply的使用及模拟实现 面试看这一篇就够了
js原型链+继承+this new call apply的使用及模拟实现前言本篇是阅读了很多业界大佬的博客后,结合自己的一点感悟写成的。方便自己后续进行复习和巩固。大家可以按照以下推荐的阅读顺序进行初步学习,其中可能会踩的坑,读不懂的地方,我都会在下文做出解释。如果熟练掌握以下的部分,原型链相关的一连串知识就足够在面试中造火箭了!感谢所有博客的作者,受益匪浅!<推荐按以下顺序阅读>https://github.com/mqyqingfeng/Blog/issues/2 初步了解从
2021-08-09 00:59:45 176
原创 暑期集训学习记录贴2021年8月6日下午
1.滑动窗口算法 slidingwindow例题 leetcode3 无重复字符的最长子串思想:2. 中心扩散算法例题:leetcode5 求最长回文串思想:3.排序+双指针例题:leetcode15 三数之和思想:
2021-08-06 21:21:18 90
原创 暑期集训学习记录贴2021年8月5日上午
1. var存在的两大弊端:允许重复声明(非严格模式下)函数作用域(let const不允许重复声明,有块作用域。函数作用域也是一种特殊的块作用域)2.在实际开发中,const的使用>let的使用>var的使用。const变量,需要重新赋值的时候一般声明一个新变量。3.箭头函数的作用:使函数写法更简洁(只能用于匿名函数中) function square(a){return a*a*a} × const square = function(a){return
2021-08-05 12:38:10 70
原创 vue中面包屑的实现方法
vue中面包屑的实现方法面包屑是什么:面包屑是作为辅助和补充的导航方式(secondary navigationscheme),它能让用户知道在网站或应用中所处的位置并能方便地回到原先的地点。最常见的面包屑的样式是:横向的文字链接,由大于号“>”分开,这个符号也暗示了它们的层级关系实现原理:1.在router配置中加入meta(元数据)对象,存放一些自定义的内容。例如在面包屑的实现中加入title变量,这个变量则是面包屑展示出来的多级标题。2.在用到面包屑的页面中调用watch监
2021-08-03 22:54:11 10953 1
原创 JS进阶之闭包
问题引出存在问题:局部变量无法共享和长久的保存,而全局变量可能造成变量污染目的:当我们希望有一种机制既可以长久的保存变量又不会造成全局污染存在问题 //全局变量会造成变量空间的污染 var a = 10; function f1(){ var b = 100; } //局部变量无法长久保存,每次执行函数都会重置a function f1(){ var a = 10; a++;
2021-02-02 17:50:55 86
原创 JS进阶之this指向
1. this指向汇总this指向:指向其调用者简单函数 function f(){ console.log(this) //window }; f(); //因为代码不是运行在严格模式下,this又必须是一个对象,所以他的默认值为全局对象window //严格模式下为undefined内置函数 this ==== window setTimeout(f,1000); //window回调函数 ——
2021-02-01 19:41:16 147
原创 JS进阶之事件冒泡及委托
1.事件冒泡和捕获当事件发生后,这个事件就要开始传播(从里到外或者从外向里)为什么要传播呢?因为事件源本身(可能)并没有处理事件的能力,即处理事件的函数(方法)并未绑定在该事件源上。冒泡:从内到外(目前浏览器支持的方式)捕获:从外到内阻止冒泡的方法:event.stopPropagation();eg:<!-- 事件冒泡 --> <h1>事件冒泡 </h1> <div class="div1"> div1
2021-02-01 18:15:05 176
原创 JS进阶之构造函数、原型链以及多种继承
1.js中的构造函数的写法 function Person(){}; //定义一个构造函数 Person.prototype.name="abc"; //原型对象中添加属性 Person.prototype.age = 18; var p1 = new Person(); //实例化 var p2 = new Person();2.需求:生成多个类似实例的方法方法一:创对象,加元素(pass) var cat1 = {};//创建一个空对象 cat1
2021-01-29 23:51:41 98
原创 JS进阶之预解析
预解析var和function关键词会预先解析提前赋值var a = 10 提前解析为var a(此时a的值为undifined)函数,在正式运行代码前赋值为整个函数块预解析结束后,在逐行解读代码 console.log(a) var a = 1; //解析过程 var a; console.log(a) a = 1; console.log(b); var b = 123; function b(){
2021-01-29 18:02:58 119
原创 JS进阶之深浅拷贝
深浅拷贝深拷贝:改变不会使原数据跟着改变浅拷贝:改变后会使原数据跟着改变半深拷贝:嵌套对象中,第一层是深拷贝,第二层及以上为浅拷贝(我们要尽量避免浅拷贝,多使用深拷贝)半深拷贝的三种方法数组 concat() slice() var arr = ['a','b']; var arr2 = arr.concat(); arr2.push('c'); console.log(arr2);//[a,b,c] console.log(arr);//[a
2021-01-28 18:59:17 242
原创 JS进阶之数据类型+对象创建
数据类型和对象创建1.数据类型汇总:万物皆对象基本类型:string number boolean undefined null引用类型:array function object两者区别:存在形式不同基本类型:以值的形式保存,赋值后即确定,改变其一,另外的值不变var a1 = 10;var b1 = a1;a1 = 9;console.log(b1); //10引用类型:以地址的形式保存,牵一发而动全身var obj = {id:100};var obj2 =
2021-01-27 16:25:26 115
原创 DOM操作小总结
DOM总结(纯知识)1.DOM选择器单一获取节点getElementById 通过id获得元素节点querySelector 通过css选择器获取元素,同类元素默认取第一个获取多个节点(后面需要加 [索引] 确定具体节点)getElementsByTagName 通过标签名获取getElementsByClassName 通过类名获取getElementsByName 通过Name属性获取querySelectorAll 通过css选择器获取全部元素2.DOM事件鼠标事件
2021-01-26 18:01:08 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人