自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS中深克隆和浅克隆的区别以及如何实现?

目录一、如何实现深克隆与浅克隆?1、浅克隆2、深克隆二、深克隆与浅克隆的区别最近在回顾之前的笔记时,无意间翻阅到了深克隆和浅克隆的模块,感觉其中涉及了很多以后面试中可能会遇到的问题,所以写下此博客用于加深印象!一、如何实现深克隆与浅克隆?1、浅克隆我们可以从其名字中的一个“浅”字展开来说,顾名思义,通过这种方式克隆出来的数据并不能完全脱离原数据,克隆前与克隆后的变量各自的变化却会相互影响,表现的就跟同一个人一样。原理:究其原因,这还得追溯回原始值与引用值。引用值是指一些复合类型数据的值,包括Ob

2021-09-01 00:21:58 1135

原创 XSS攻击和CSRF攻击,你怕了吗?

目录XSS攻击一、简述二、XSS的类型1、反射型2、存储型3、DOM型4、总结三、CSRF攻击四、CSRF攻击与XSS攻击的区别本人是一名前端爱好者,写博客主要用于记录下自己的学习过程,如果下方有表述不当的地方欢迎大家在评论区留言指正!希望大家看完这篇文章之后能对XSS攻击和CSRF跨域攻击有个基本的了解!XSS攻击一、简述XSS(Cross-site scripting),给人的第一种感觉好像可以简写为CSS,但由于其容易和层叠样式表(Cascading Style Sheets,CSS)的缩写混

2021-08-31 00:51:54 927 2

转载 JS的原始值和引用值

目录Js原始值Js引用值最近开始注重自己的基础知识,以前总是觉得自己什么都要会一点,不精也没关系,现在想想,感觉这种想法是错误的。一些最基本的基础底层知识还是要很扎实的。Js原始值原始值即一些代表原始数据类型的值,也叫基本数据类型,首先说一下js中有哪些原始值,Number,String,Boolean,Null,Undefined这些基本数据类型都是原始值。原始值存储在栈中。意思就是说,当一个原始变量把值赋给另一个原始变量时,只是把栈中的内容复制给另一个原始变量,此时这两个变量互不影响,即当一个变

2021-07-17 20:04:15 219

转载 原型和原型链

目录一、什么是原型二、prototype三、__proto__四、constructor五、实例与原型六、原型的原型七、原型链一、什么是原型原型:每一个javascript对象(除null外)创建的时候,都会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型中“继承”属性。例如var obj = new Object();创建一个对象的时候都会同时关联一个对象,如图,关联的这个对象就是新建的对象obj的原型二、prototype在JavaScript中,每个函数都有一个p

2021-07-17 10:11:23 147

转载 你真的懂闭包吗?

什么是闭包?一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。简单来说:闭包是指有权访问另一个函数作用域中的变量的函数。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。function init() { var name = "Mozilla"; // name 是一个被 init 创建的局部变量 function displayName() {

2021-07-16 10:06:49 138

转载 单线程与多线程的区别

什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处:可以提高CPU的利用率。在多线程程序

2021-07-15 09:25:59 921

原创 Js为什么解除不掉事件绑定?

我们先来谈一下注册事件的方式:1、传统注册事件即利用各种on开头的事件,例如onclick、onmousedown、onmouseover、onmousemove、onmouseup等等诸如此类的事件,我们都会用以下代码块来对某些dom元素进行注册事件:btns[0].onclick = function() { console.log(1);}btns[0].onmousedown= function() { console.log(1);}btns[0].onmou

2021-07-14 20:09:33 579

原创 你是否有遇到过服务器渲染(res.render)无效的情况呢?

最近在改进之前做的登录注册功能,最开始做的时候是用的form表单提交将用户输入的账号密码提交到服务端。服务端根据数据处理完之后进行判断,如果在数据库中能够查询到对应的值,则会从登陆页面跳转到首页;如果在数据库中不能查询到对应的值,则依旧会停留在注册页面并提示错误信息。此过程页面的跳转恰好用的是res.render的方式,搭配上ejs模板引擎实现了页面的渲染。res.render('login',{msg:'登录失败!用户名或密码错误!',user:0,playlists:req.playlists,m

2021-06-17 12:44:07 1055

转载 window.sessionStorage与window.localStorage的使用方法与区别

window.sessionStorage属性区别:localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。sessionStorage用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。仅刷新页面不会删除数据。1、语法window.sessionStorage//window可以省略。保存数据语法:sessionStorage.setItem(‘key’, ‘value’);或sessionStor

2021-06-15 21:43:49 1993

转载 auto到底是什么意思?子盒子在父盒子内实现水平垂直居中的方法大全

我们知道,块级元素即使设置了宽度,也会占满一行,为什么会这样?因为默认的宽度规则是“适应于父级”规则(在水平方向上自动扩充)。即margin-left+border-left-width+padding-left+width+padding-right+border-right-width+margin-right= width of containing block对于绝对定位元素,有以下算式:left+margin-left+border-left-width+padding-left+widt

2021-06-15 17:04:44 381

原创 利用CSS实现超出盒子范围的文字转为省略号

只需要对装有文字的盒子加上如下代码即可: /*超出部分隐藏*/overflow: hidden;/*强制在一行*/white-space: nowrap;/*文本超出部分省略*/text-overflow: ellipsis;

2021-05-08 19:44:29 372

原创 盒子使用margin或padding后与背景颜色的联系:

我们在学习前端的时候,一定会遇到这样的问题:当我们给盒子设置了宽度、高度以及背景颜色时,这个时候在给它添加padding和margin的属性值,会有什么不一样吗?先简单通俗地介绍一下这两个属性:padding可以理解为内容与边框的距离;margin 可以理解为边框与其他元素的距离。最重要的是:这两者都会撑大我们的盒子!<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&gt

2021-04-29 20:25:48 5805

转载 form的提交方式:get和post的区别

method属性规定如何发送表单的数据。有两种提交的方法分别为get和post。1、get:提交的数据量要小于1024字节,表单提交时表单域数值(表单请求的信息:账号、密码…)将在地址栏显示。<!DOCTYPE html><html><head> <title>测试get提交数据方法</title></head><body> <center> <form acti

2021-04-29 15:58:11 313

转载 如何让 height:100%; 起作用

如何让 height:100%; 起作用分享:当你设置一个页面元素的高度(height)为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大多数情况下,这样的做法没有任何效果。你知道为什么height:100%不起作用吗?按常理,当我们用CSS的height属性定义一个元素的高度时,这个元素应该按照设定在浏览器的纵向空间里扩展相应的空间距离。例如,如果一个div元素的CSS是height: 100px;,那它应该在页面的竖向空间里占满100px的高度。而跟W3C的规范,百分比的高度在设定时需要

2021-04-28 00:10:22 148

转载 display:none会不会导致其所占空间消失?

display:none;的验证结果是该元素所占空间消失,验证例子为:<!DOCTYPE html><html><head> <title>test</title> <style type="text/css"> div{ width:500px; height:500px; } .num1{ b

2021-04-28 00:03:55 2580

原创 如何使用前端DOM操作制作一个便签:

2021-04-27 02:52:04 842 2

转载 JavaScript和C语言的异同:

1、同:某些词法、语法相同。JavaScript的词法语法的设计是参考Java的,而Java的词法语法的设计是参考C的。我想到的JavaScript、Java、C++和C都相同的词法、语法有:1.1、把单个等号作为赋值运算符而不是相等判断运算符,如:a=b+1代表“把变量b+1的结果赋予变量a”,而不是“变量a的值与变量b+1的值相等”;1.2、赋值运算是一个表达式,可以作为一个值参与其他运算,如:(a=b+1)>10;1.3、语句以分号结束;1.4、以“0x”开头来表示十

2021-04-19 16:50:06 1238

转载 学习使用:before和:after伪元素

学习使用:before和:after伪元素关于::before和::after的学习特别声明:此篇文章由胡均根据Louis Lazaris英文文章原名《Learning To Use The :before And :after Pseudo-Elements In CSS》进行翻译,整个译文带有我们自己的理解与思想,如果译得不好或不对之处还请同行朋友指点。如需转载此译文,需注明英文出处:http://coding.smashingmagazine.com/2011/07/13/learning-to-

2021-04-11 22:28:34 80

原创 CSS中overflow-hidden的作用

CSS中overflow-hidden的作用顾名思义,就跟它的字面意思一样,当元素内的内容溢出的时候把他溢出的部分给隐藏掉。下面分享我遇到过的一个实例:本来是想要依赖下面的代码做出一个圆角的盒子出来.nav {border-radius:8px;margin:o 4px 3px;}不过里面的小盒子没有设置成圆角的,导致产生了下面的图片:原本大盒子设置好的边框圆角被小盒子覆盖掉,怎么样才能让不用去一个个改动里面的小盒子就能够把边框的圆角显示出来呢?操作很简单,我们只需要在大盒子的样式

2021-04-11 21:52:01 188 2

转载 div\section\article标签的区别:

1.div这个标签一直是我们见得最多、用得最多的标签。它本身无任何语义,用作布局以及样式化标签。2.section与div相似,但它有更进一步的语义。section用作一段有专题性的内容,一般在它里面会带有标题。section典型的应用场景应该是文章的章节、标签对话框中的标签页、或者论文中有编号的部分。<section>    <h1>section元素的</h1>标题    <p>section区块的主题部分</p></sec

2021-04-11 18:36:18 217

转载 关于html5中section标签与div标签的区别

关于html5中section标签与div标签的区别本篇文章主要的想大家介绍了关于HTML5 section标签和div标签的区别,section和div的用法看似相近,实则差的也不是太多,有些地方可以相互转换都行,但有些地方只能用section或者只能用div,不能转换的,好了,接下来就让我们一起看文章吧先看看section标签的HTML标准中写的:每个section对应不同的主题。注意是内容本身的主题,而不是其他人为设定的划分标准。section的例子包括书的章节回目、多tab对话框的每个tab

2021-04-11 18:28:37 16008 3

转载 CSS-flex布局

https://blog.csdn.net/Allenyhy/article/details/81605547?utm_medium=distribute.pc_relevant_t0.none-task-blog-

2021-04-09 00:59:49 54

转载 线性表和链表有什么区别:

线性表和链表有什么区别:线性表在内存中是一块连续的内存空间,相当于数组,查找比较快,但是插入数据、删除数据比较慢。链表在内存中是分散存储的,优点是容易插入、删除数据,但是缺点是查找较不方便...

2021-04-03 09:13:42 645

空空如也

空空如也

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

TA关注的人

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