自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 面试题合集

面试题合集数据类型转换==和===的区别==:会统一类型,如果是对比null和undefined会返回true,若比较string和number会转换为number,boolean会被转换为number,object和原始类型对比会将object转换为原始类型===:就是判断两个变量类型和值是否相同tip:判断[]==![]结果为true,过程:[]==false->0==0->true。判断{}==!{}结果为false,过程{}==false->NaN==0->

2021-09-07 16:24:45 152

原创 JS模块化引入问题

在HTML页面中引入js模块,js模块中又包含其他js模块,考虑到跨域问题,使用Liver server插件打开网页,但是提示js资源404问题出现在js模块引入时vscode默认去掉了.js后缀,加上就好了原本报错的引入:修改后正常的引入:...

2021-07-17 11:16:00 350

原创 HTTP(二)

目录IP、TCP和DNSIP定义作用ARP协议借助MAC地址进行通信路由选择TCP定义如何保证数据达到目标DNS定义各种协议与HTTP协议之间的关系URI和URLURI定义URL定义URI格式绝对URI的格式HTTP协议通过请求和响应的交换达成通信请求报文和响应报文HTTP是不保存状态的协议几种HTTP请求方法GET请求获取资源POST请求传输实体主体PUT传输文件HEAD获得报文首部DELETE删除文件OPTIONS询问支持的方法TRACE追踪路径CONNECT用隧道协议连接代理HTTP/1.0和HTTP

2021-07-14 22:30:13 186

原创 算法题练习

算法练习斐波那契数列问题该问题最传统的做法就是使用递归,但是如果递归的深度过大,就会导致栈溢出动态规划法(最优解)思路将每次前两数之和存起来,便于下次直接使用,减少了内存压力。示例function fib(n) { let n1 = 0, n2 = 1, sum for(let i = 0; i < n; i++) { sum = (n1 + n2) % 1000000007 n1 = n2 n2 = sum }

2021-07-13 22:26:13 105 1

原创 数据结构学习

数据结构文章目录数据结构栈二叉树完全二叉树的一些公式二叉树遍历方式判断镜像二叉树平衡二叉树哈希表简述好的哈希函数选择标准好的哈希函数选择标准栈是一种受限制的线性结构,后进先出(LIFO)其限制是仅允许在表的一端进行插入和删除运算,这一端被称作栈顶,相对的另一端被成为栈底二叉树树是用来模拟具有树状结构性质的数据集合。二叉树是一种典型的树状结构,二叉树是每个节点最多有两个子树的树结构,通常子树被称作"左子树"和"右子树"[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(i

2021-07-13 22:23:11 77

原创 JS正则表达式

常用正则元字符在正则中有特殊语义的字符;.[][^]?*+{min,max}^$()\1\2|转义符表示方法\作用用于匹配元字符匹配方式test只返回是否匹配成功,不能精确匹配,例如console.log(/\d{2}/.test('13a')) //trueexec可以精确匹配,会返回匹配的内容、开始匹配的位置和输出字符组表示方法[]作用在固定范围内匹配一个字符示例console.log(/[1-9]/.test('1')) //trueconsole.log(/[

2021-07-12 21:51:24 152 1

原创 Vue Vuex(五)

Vuex:记录全局变量,记录其中的变量在所有组件中皆可访问,并且是响应式的。1.修改状态:通过组件修改state的流程如上图,先通过Dispatch提交到服务器(如果没有就跳过),接着通过commit到Mutations(到此改变的记录会被Devtools记录),由Mutations来改变state中属性的状态。当不传递参数//store/index中state: { //定义全局的状态属性 num: 0}mutations: { sub(state) {

2021-05-31 22:59:03 109 2

原创 Vue 路由(四)

$route指当前路由,$router指全局路由器1.在router的index文件中配置路由时,有两种引入组件的方式{path: '/',name: 'Home', component: Home}其中Home是实现由import引入好的{path: '/',name: 'Home',component: () =>{'../views/Home.vue'}}上述两种引用的区别在于第一种引用会将所有的路由文件打包,而第二种相当与懒加载,只有用到的才会被打包2.vue-router中默认

2021-05-31 22:55:14 211 2

原创 jQuery 插件(七)

标签(空格分隔): 前端学习释放$的控制权var c = $.noConflict() //释放$的控制权,并把$的能力给了c扩展jQuery插件$.fn.extend(object)

2021-05-31 08:36:27 58

原创 jQuery 事件(六)

标签(空格分隔): 前端学习简单事件注册$(selector).click(handler) //单击事件$(selector).mouseenter(handler) //鼠标进入事件$(selector).mouseleave(handler)可以注册多个事件

2021-05-31 08:35:48 81

原创 jQuery 动画(五)

标签(空格分隔): 前端学习元素的显示与隐藏方法用法描述show$('#d1').show(2000,function)元素d1事先设置了display:none,可以设置参数代表元素显示动画花费的时间,还可以传递一个函数表示动画执行完后要进行的操作hide$('#d1').hide(2000,function)与show类似,只不过是控制元素隐藏taggle$('#d1').toggle(2000,function)与之前的toggleClass类似,控

2021-05-31 08:35:11 68

原创 jQuery 设置和获取属性(四)

标签(空格分隔): 前端学习设置和获取属性$('li').attr('name')//获取li元素的name属性$('li').attr('name','tom')//修改li元素的name属性值为tom$('li').attr({ 'name': 'tom', 'age': '18'})//设置多个属性$('li').removeAttr('name')//删除name属性设置表单元素的属性可以使用prop()方法针对checked、selected、disa

2021-05-31 08:33:40 158

原创 jQuery 操作DOM(三)

标签(空格分隔): 前端学习创建节点$('a').html('<h1>helloworld</h1>')操作节点操作方法用法描述append$('#d1').append(h1)[h1是创建的节点]在id为d1的元素中后插入节点appendToh1.appendTo('#d1')将创建的 h1节点插入d1元素prepend$('#d1').prepend('<h1>helloworld2</h1>')在

2021-05-31 08:28:34 76

原创 jQuery 修改样式(二)

标签(空格分隔): 前端学习样式设置://两个参数,设置单个属性$('li').css('color','red')//传入对象,设置单个属性$('li').css({'color':'red'})//设置多个样式(样式中不可出现-,例如font-size不可单独出现,必须要加引号或驼峰式命名)$('li').css({ 'color': 'green', 'font-size': '20px'})类名设置:方法用法描述addClass$(

2021-05-31 08:27:41 79

原创 jQuery 入口函数(一)

标签(空格分隔): 前端学习使用jQuery的三个步骤引入jQuery文件入口函数功能实现jQuery入口函数与js入口函数对比js的入口函数(window.onload)要等到页面中所有资源(包括图片、文件)加载完成后才开始执行jQuery的入口函数($(function()))只会等待文档树加载完成就开始执行,并不会等待图片、文件加载(但是如果要在其中新增节点,在js代码中是访问不到的,只能在其中为其添加事件)jQuery对象和dom对象DOM对象:使用JS中的方法获取页面

2021-05-31 08:26:19 92

转载 回流和重绘

浏览器渲染机制解析HTML,生成DOM树,解析CSS,生成CSSOM树将DOM树和CSSOM树结合,生成渲染树Render TreeLayout(回流):根据生成的渲染树,进行回流(Layout),得到节点的几何信息(位置,大小)Paint(重绘):根据渲染树以及回流得到的几何信息,得到节点的绝对像素Display:将像素发送给GPU,展示在页面上。为了构建渲染树,浏览器主要完成了以下工作:从DOM树的根节点开始遍历每个可见节点对于每个可见节点,找到CSSDOM树中对应的规则,并应用

2021-05-30 22:51:25 100

原创 webpack

webpack是一个模块打包工具(构建工具)。主要目标是将JavaScript文件打包在一起,打包后的文件用于在浏览器中使用,但它也能胜任转换(transform)、打包(bundle)或包裹(package)任何资源(resource or asset)webpack的原理和概念:树结构:在入口文件中引入所有资源,形成所有依赖关系树状图模块:模块就是模块可以是ES6模块亦可以是commonJS或者AMD模块,对于webpack就是所有资源(css,img…)chunk:打包过程中被操作的模块文件

2021-05-30 22:48:17 118

原创 CSS3面试题合集

1.margin合并问题在正常布局流中上下两个含有内容的div的margin会发生合并,合并后的margin值为相对大的值,当div内容为空时也会自动忽略其margin2.margin负值问题当margin-top为负值时:元素会向上移动当margin-bottom为负值时:元素本身不会发生移动,其下面的元素会上移当margin-left为负值时:元素会向左移动当margin-right为负值时:元素自身不会发生移动,其右边的元素会左移3.BFC问题BFC:Block formating

2021-05-30 22:47:06 1588

原创 简历模板

这年头找个简历模板真难,不是要钱就是公众号引流!!!分享一下我找到的模板吧简历模板,第15个比较好提取码:68k9如果有解压码就是2371940044简洁性简历模板提取码:j0sm

2021-05-17 22:59:02 114

原创 面试题合集VUE

生命周期beforeCreate:该阶段获取不到props和data中的数据,因为这些数据的初始化都在initState中。created:这时可以访问props和data中的数据,但是还未挂载,因此不会显示内容beforeMount:开始创建VDOM(虚拟DOM)mounted:将VDOM渲染为真实的DOM并渲染数据,组件中如果有子组件的话会递归挂载子组件,当所有子组件挂载完毕,才会执行根组件挂载钩子beforeUpdate:在数据更新前调用updated:在数据更新后调用另外keep-a

2021-05-16 19:50:55 157 2

原创 面试题合集二

1.事件机制事件触发的三个阶段:window往事件触发处传播,遇到注册的捕获事件会触发传播到事件触发处时触发注册的事件从事件触发处往window传播,遇到注册的冒泡事件会触发事件触发一般来说会按照上述顺序执行,但是如果给一个body中的子节点同时注册冒泡和捕获事件,事件触发会按照注册的顺序执行。node.addEventListener('click',event => { console.log('冒泡')},false)node.addEventListener('c

2021-05-15 19:43:16 75

原创 JS RequestAnimationFrame(五十)

RequestAnimationFramerequestAnimationFrame比起setTimeout、setInterval的优势主要有两点:requestAnimationFrame会把每一帧中的所有DOM操作集中起来,在一次重回或回流中就完成,并且重绘或回流的时间间隔紧紧耿穗浏览器的刷新频率,一般来说,这个频率为每秒60帧。在隐藏或不可见的元素中,requestAnimationFrame将不会进行重绘或回流,这当然就意味着更少的cpu、gpu和内存使用量。在运行时浏览器会自动优化方法

2021-05-11 21:18:59 127

原创 HTTP(一)

TCP/IPTCP/IP协议族按层次分别为以下4层:应用层:决定了向用户提供应用服务时通信的活动,TCP/IP预存了各类通用的应用服务例如FTP和DNS,HTTP协议就在该层传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输,在该层有两个性质不同的协议:TCP和UDP网络层:又名网络互连层,用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。该层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方。数据链路层:用来处理连接网络的硬件不封。硬件上的范畴均在链路层

2021-04-15 22:33:29 2639

原创 JS 继承(二十九)

继承ES中只支持实现继承,且主要依靠原型链来实现的。原型链首先明确构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,二实例都包含一个指向原型对象内部的指针。如果原型对象等于另一个类型的实例,那么相应的,另一个原型中也包含着一个指向另一个构造函数的指针,如此嵌套就构成了实例与原型的链条。function SuperType() { this.property = true}SuperType.prototype.getSuperValues

2021-04-08 15:09:05 61

转载 JS 类和对象的创建(二十八)

W3C类和对象的创建比较合适的创建方法1.混合的构造函数/原型方式:联合使用构造函数和原型方式,就可像用其他程序设计语言一样创建对象。使用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。function Car(sColor,iDoors) { this.color = sColor this.doors = iDoors this.drivers = new Array('Mike','John')}Car.prototype.showColor

2021-04-08 15:06:16 51

原创 JS 对象(二十七)

如何创建一个对象var person = new Object()person.name: 'Nicholas'person.age: 19person.sayName: function(){ alert(this.name)}属性类型ES中有两种属性:数据属性和访问属性。1.数据属性:包含一个数据值的位置。可以读取和写入值。数据属性有4个描述其行为的特性:[[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属

2021-04-08 15:04:08 80

原创 JS this(二十六)

this是什么this关键词指的是它所属的对象。它拥有不同的值,具体取决于它所在的位置:在方法中,this指的是所有者对象单独的情况下,this指的是全局对象在函数中,this指的是全局对象在函数中(严格模式下),this是undefined在事件中,this指的是接收事件的元素call()和apply()方法可以将this引用到任何对象事件处理程序中的this在HTML事件处理程序中,this指的是接收此事件的HTML元素:<button onclick="this.sty

2021-03-21 16:22:40 60

原创 JS Math(二十五)

Math对象属性描述E返回算数常量e,即自然对数的底数(约等于2.718)LN2返回2的自然对数(约等于0.693)LN10返回10的自然对数(约等于2.302)LOG2E返回以2为底的e的对数(约等于0.434)PI返回圆周率(约等于3.14159)SQRT1_2返回2的平方根的倒数(约等于0.7.7)SQRT2返回2的平方根(约等于1.414)Math对象方法方法描述abs(x)返回数的绝对值ac

2021-03-21 16:21:00 42

原创 JS setTimeout()和setInterval()(二十三)

setTimeout:setTimeout()是属于window的方法,通常使用时会省略window这个顶层物件名称。用于在指定的毫秒数后调用函数或计算表达式。语法:setTimeout('method'(要执行的method),time(指定的等候时间))setTimeout不会重复可以使用clearTimeout(对象)清除已设置的setTimeout对象setInterval:setInterval()属于window的方法,通常使用时会省略window这个顶层物件名称。可按照指定的

2021-03-21 16:19:32 53

转载 JS 委托事件(二十二)

js中事件委托或是事件代理详解

2021-03-21 16:15:44 57

原创 JS cssText(二十一)

cssText本质是什么:本质就是设置HTML元素的style属性值。使用格式:document.getElementById("d1").style.cssText = 'color:red;font-size:13px'cssText返回值:在一般的浏览器中,它返回你赋给它的值,但是在IE中,它会格式化输出、会把属性大写、会改变属性顺序、会去掉最后一个分号:document.getElement("d1").style.cssText = "color:red,font-size:13px

2021-03-21 16:14:53 482

转载 JS 动态修改CSS样式(二十)

动态修改CSS样式的四种方法几种方法:使用obj.className来修改样式表的类名使用obj.style.cssTest来修改嵌入式的css使用obj.classNmae来修改样式表的类名使用更改外联的css文件,从而改变元素的css...

2021-03-21 16:12:43 112

原创 JS HTML DMO Style(十九)

JS HTML DMO Style(十九)标签(空格分隔): 前端学习HTML DOM StyleStyle对象Style对象代表一个单独的样式声明。可从应用样式的文档或元素访问Style对象。使用Style对象属性的语法:document.getElementById("id").style.property = '值'...

2021-03-21 16:11:50 90

原创 JS HTML DOM对象(十八)

HTML DOM Text对象Text对象化代表HTML表单中的文本输入域。在HTML表单中<input type="text">每出现一次,Text对象就会被创建。该元素可创建一个单行的文本输入字段。当用户编辑显示的文本并随后把输入焦点转移到其他元素的时候,会触发onchange事件句柄。Text对象属性:属性描述accesskey设置或返回访问文本域的快捷键alt设置或返回当前浏览器不支持文本域时供显示的替代文本defaultValue设置或返

2021-03-21 16:09:20 58

原创 JS练习一:数组转对象

原页面最后一题已知有数组:var menuArr = [ [1, "Area1", -1], [2, "Area2", -1], [3, "Area1-1", 1], [4, "Area1-2", 1], [5, "Area2-1", 2], [6, "Area2-2", 2], [7, "Area1-2-3", 4], [8, "Area2-2-1", 6],];要求转为如下对象:var menuObject = { "1

2021-03-21 15:53:30 64

原创 CSS3 CSS Sprite(二十四)

什么是CSS Sprite将图标、背景、按钮背景等图片合并成一张图,然后通过坐标来定位背景。当访问该页面时,载入的图片就不会像以前那样一个一个显示。CSS Sprite的优缺点优点:可以减少网页的http请求,从而提高性能。减少图片的大小,从而减少所在内存空间。易于风格更换。只需要改变少量图片样式或颜色,就可以改变整个网页风格。减少网页设计的时间缺点:引入不必要的背景,并不是所有图片都是背景,有些重要的信息应该写入HTML开发麻烦维护复杂更多:CSS使用Spirtes技术实

2021-03-18 17:34:11 111

原创 JS DOM(十七)

HTML DOM(文档对象模型)当浏览器被加载时,浏览器会创建页面的文档对象模型。HTML DOM模型对象树:文档节点文档节点是每个文档的根节点,同理文档元素即文档最外层的元素node类型常见类型:节点类型例子ELEMENT_NODE1<h1 class="heading">W3School</h1>ATTRIBUTE_NODE2class = "heading" (HTML DOM中弃用,XML DOM可用)TEXT_NOD

2021-03-17 14:01:43 220

原创 JS 垃圾收集(十六)

JS具有自动垃圾收集机制,执行环境会负责管理代码执行过程中使用的内存。浏览器中常用的垃圾收集策略:标记清除:最常见的垃圾收集方式,当变量进入环境时,就将这个变量标记为"进入环境",逻辑上,永远不能释放进入环境的变量的内存,当离开环境时,则将其标记为"离开环境"引用计数:跟踪记录每个值被引用的次数,当声明了一个变量并将一个引用类型值赋给该变量时,则这个值的引用次数就是1,当又被赋给另一个值时,引用次数加1。相应的包含对这个值引用的变量又取得了其他值时,该值的引用次数减1,当该值的引用次数变为0时,就可

2021-03-17 14:00:50 58

原创 JS 执行环节与作用域(十五)

执行环境(环境)定义了变量或函数有权访问的其他数据。每个执行环境都有一个与之关联的变量对象,环境变量中定义的所有变量和函数都保存在这个对象中。环境:全局环境,是最外围的一个执行环境,在Web浏览器中,全局执行环境被认为是window对象。局部环境,函数内部的执行环境,当执行流进入一个函数时,函数的环境就会入环境栈,当函数执行完成后就会将环境弹出。作用域链当代码在一个环境中执行时,会创建变量对象的一个作用域链。作用域链可以保证对执行环境有权访问的所有变量和函数的有序访问。作用域链的前端,始终是当

2021-03-16 15:25:06 62

原创 JS 事件(十四)

事件绑定的三种方法:1.HTML事件处理程序属性:<button onclick="bgChange()">Press me</button>function bgChange() { xxxxx}2.事件处理程序属性:const buttons = document.querySelectorAll('button')for(let i = 0; i < buttons.length; i++) { buttons[i].onclick = bgCh

2021-03-16 15:21:24 73

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除