自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 作用域和闭包

每个JavaScript函数都是一个对象,对象中有些属性我们可以访问,但是有些不可以,这些属性仅供JavaScript引擎存取,[[scope]]就是其中一个。[[scope]]指的就是我们所说的作用域链,其中存储了运行期上下文的集合一个函数被定义的时候,他的作用域链中存放着全局的变量对象,当函数开始被执行的时候,就会创建一个执行期上下文,放在作用域链的第一位,也就是先在自己的执行期上下文...

2019-01-03 19:34:20 1188

原创 清除浮动的几种方法

父级不浮动,子级浮动后,父级无法包住子级而造成布局的混乱,如何清除浮动呢,以下给出几种清除浮动的方法供参考。清除浮动的方式,总结了一下,大概有如下几类:结尾空元素或者after等伪元素或者br 来clear 父元素同样浮动 父元素设置overflow为hidden或者auto 父元素display:table display:flex;也可以完成清浮...

2019-01-02 21:18:47 380

原创 js DOM

DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM可以把HTML文档变成一个由多层次节点构成的结构。节点分为12种类型,每种类型表示文档不同的标记和信息,每个节点拥有自己的特点,数据和方法文档节点是每个文档的根节点,文档节点只有一个子节点叫文档元素,即<html>元素每个文档只能有一个文档元素,在HTML页面中,文档元素始终都是HTML元...

2018-12-26 19:40:42 256

原创 js VS jQuery

js获取DOM元素的八种方法:1、通过ID获取:getElementById 返回一个元素,上下文只能是document2、通过name属性获取:getElementsByName 返回一组元素,上下文必须是documet3、通过标签名获取:getElementsByTagName 返回一组元素 ,上下文可以是document,也可以是一个元素4、通过类名获取:g...

2018-12-25 14:53:18 227

原创 ajax基础

Ajax技术的核心是XMLHttpRequset对象(简称XHR),XHR为向服务器发送请求和解析服务器响应提供了流畅的接口,能够以异步的方式从服务器取得更多信息,意味着用户单机后,可以不必刷新页面也能取得新数据。要求你的js文件,HTML文件,要读取的文件一定是统一的字符集编码要注意阻止缓存。原理:请求的文件的url一直在变就可以阻止缓存ajax(‘aaa.txt?t=’+new D...

2018-12-21 21:33:46 130

原创 ES6的新特性

ECMAScript和JavaScript的关系:前者是后者的规格,后者是前者的一种实现。Babel是一个广为使用的ES6转码器,可以将ES6代码转为ES5代码,从而在浏览器或其他执行环境执行。ES6新增了let命令,用于声明变量。其用法类似于var,但是所声明的变量只在let命令所在的代码块内有效。let不像var那样会发生“变量提升”现象,所以变量一定要在声明后使用,否则报错。...

2018-12-21 20:07:21 131

原创 em,rem,px的区别

css单位中px,em,rem之间的区别和用法px(绝对长度单位)px是像素,可以设置宽高,字体的大小。像素px是相对于显示器屏幕分辨率而言的em(相对长度单位)浏览器的默认字体是16px,1em = 16px ,以此类推计算12px=0.75em,10px=0.625em,2em=32px;这样使用很复杂,很难很好的与px进行对应,也导致书写、使用、视觉的复杂(0.75em、0....

2018-12-15 17:17:37 418

原创 标准盒模型和IE盒模型

盒模型的组成,由里向外分别是content,padding,border,margin盒子模型在页面中占的实际宽度是:(margin+padding+border)*2 + width,高度同理。盒模型有标准盒模型和ie盒模型,二者的区别是标准盒模型的内容大小就是content的大小,而ie盒模型的大小则是content+padding+border总的大小。通过设置 box-si...

2018-12-15 16:04:13 9227

原创 css 伪类 伪元素

伪类:用于向某些选择器添加特殊的效果。伪元素:用于向某些选择器设置特殊效果伪类其实弥补了css选择器的不足,用来方便的获取信息而伪元素本质上是创建了一个虚拟容器,我们可以在其中添加内容或样式伪类的主要用法: a:link{ color:green; } a:visited{ color:red; } a:hover{ color:black;} a:act...

2018-12-14 19:12:23 160

原创 进程和线程

进程:是系统进行资源分配和调度的一个独立单位在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性,为此引入了进程的概念,以便更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性。进程的特征:1、动态性。进程是程序的一次执行,有创建,活动,暂停,终止等过程,具有一定的生命周期2、并发性。同时存在于内存中,能在一段时间内同时进行,提高资源利用率3、独立...

2018-12-14 14:42:33 183

原创 死锁

死锁:是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程将无法向前推进死锁产生的原因:1、系统资源的竞争通常系统中的不剥夺的资源竞争,才可能产生死锁,对可剥夺的资源的竞争是不会引起死锁的。2、进程推进顺序非法进程在运行过程中,请求和释放的顺序不当,也同样会导致死锁。3、死锁产生的必要条件,只要其中任一条件不成立,死锁就不会发生互斥条件,不剥夺条件...

2018-12-14 14:15:55 176

原创 计算机网络TCP/UDP协议——运输层

运输层主要的两个协议:UDP和TCP协议UDP协议的特点:1、不建立连接2、尽最大努力交付3、UDP没有拥塞控制4、首部开销小5、可以一对一,一对多,多对多TCP协议的特点:1、提供面向连接的服务2、面向字节流3、提供可靠的服务4、TCP只能是点对点的TCP三次握手的过程:第一次握手:建立连接时,客户端发送syn包到服务器,并进入syn-send...

2018-12-14 13:48:40 238

原创 垃圾回收器原理

垃圾收集机制的原理:找出那些不再继续使用的变量,然后释放其占用的内存。方法一:标记清除1、垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记2、去除掉环境中的变量以及被环境中的变量引用的变量的标记3、而在此之后,再被加上标记的变量将被视为准备删除的变量最后,垃圾收集器完成内存清除工作,销毁这些带标记的值方法二:引用计数跟踪记录每个值被引用的次数。当声明了一个...

2018-12-13 21:35:28 405

原创 null,undefined

undefined类型只有一个值(undefined)。在使用var声明变量但未对其初始化时,这个变量的值就是undefined。var abc;alert(abc);//undefinedconsole.log(typeof abc);//undefined对为初始化的变量执行typeof操作符会返回undefined,而对于未声明的变量执行typeof操作符同样也会返回undef...

2018-12-13 21:17:19 220 1

原创 js中变量的赋值

众所周知,js中包含两种数据类型的值:基本数据类型和引用数据类型。基本数据类型:null,undefined,number,string,boolean引用数据类型:object在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值。因为基本数据类型是按值访问的,你可以操作保存在变量中实际的值;而引用类型的值是保存在内存中的对象,不能直接操作对象的内存空间,在实际操作对象...

2018-12-13 20:35:53 16523

原创 如何实现水平垂直居中

固定宽高的元素,设置垂直居中法一:用position:absolute和transform:translate来设置(css3的方法)div{ width: 200px; height: 200px; background: green; position:absolute; ...

2018-04-16 16:19:19 239

转载 cookie,session,localStroage,sessionStorage之间的区别

1、cookie的内容主要包括cookie的值,名字,过期时间,路径,域。若不设置时间,则cookie的生命期为浏览器会话期间,关闭浏览器,会话就会消失。这种生命期为浏览期的cooKie成为会话cookie,会话cookie一般保存在内存里。若设置时间,则cookie被保存在硬盘上,关闭再打开浏览器,cookie值仍然有效,直到超过过期时间。2、1、cookie数据存放在客户的浏览器上,ses...

2018-04-15 17:33:43 543

原创 浏览器兼容性

浏览器的兼容问题总结1、在IE6下,子级的宽度会撑开父级的宽度,所以盒模型的宽度一定要设置的精确,否则在IE浏览器下会显示不同。2、在IE6,7下,元素通过浮动排在同一排,就需要给这行元素都加浮动,而不能一个使用浮动,另一个使用margin-left,否则排在一排的元素会有3px的间距。3、注意标签的嵌套规则,p标签中不能嵌套块级元素4、在IE6下,元素的高度如果小于19px,会被...

2018-03-25 15:12:52 193

原创 面试题中的算法题

查找单链表的中间节点:法一》:遍历一遍整个链表,计算出链表的长度,进而遍历第二遍找出中间位置的数据法二》:建立两个指针,一个指针一次遍历两个节点,另一个指针一次遍历一个节点,当快指针遍历到空节点时,慢指针指向的位置为链表的中间位置算法实现:SListNode*FindMidNode(SListNode*phead) { SListNode*fas...

2017-12-27 16:25:01 200

原创 死锁的解决方案

死锁产生的条件:1、互斥条件:资源不能被共享,只能由一个进程使用2、请求与保持条件:进程已获得了一些资源,但因请求其它资源被阻塞时,对已获得的资源保持不放。3、不可抢占条件(No pre-emption)    :有些系统资源是不可抢占的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。4、循环等待条件(Circular wait)      :若

2017-12-27 16:18:22 1619

原创 HTTP请求方式比较

HTTP请求方式:post和get的比较GET - 从指定的服务器中获取数据POST - 提交数据给指定的服务器处理相同点:都是将数据提交到远程服务器中get方式:使用get方式发送请求时,查询字符串被添加到URL地址后面一起发送给服务器特点:1、get请求能够被缓存;2、get请求能够被添加网页书签;3、get请求能被保存到浏览器的浏览记录中;4、g...

2017-12-22 10:59:19 320

原创 jquery中几种事件绑定的方法比较

1.bind()函数只能针对已经存在的元素进行事件的设置;但是live(),on(),delegate()均支持未来新添加元素的事件设置;2.bind()函数在jquery1.7版本以前比较受推崇,1.7版本出来之后,官方已经不推荐用bind(),替代函数为on(),这也是1.7版本新添加的函数,同样,可以 用来代替live()函数,live()函数在1.9版本已经删除;3.live()函数...

2017-12-22 10:41:41 218

原创 js中的闭包

function outerFunction(){ var a = 0; function innerFunction(){ a++; alert(a); }}innerFunction();这样写是错误的,因为innerFu...

2017-12-22 09:45:01 155

原创 事件冒泡处理

事件流描述的是从页面中接收事件的顺序,即事件冒泡,事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点。以下面的例子为例结果点击div3,页面会依次弹出3,2,1,这就是事件冒泡。使用oEvent.cancelBubble = true;可以取消事件冒泡以上代码是取消事件冒泡做的一个小例子。...

2017-12-20 17:47:16 563

原创 js-完美物体运动框架

function getStyle(obj , name) {if (obj.currentStyle) {return obj.currentStyle[name];} else {return getComputedStyle(obj,false)[name];}// body...}function startMove(obj,json,fnEnd){cl

2017-12-14 19:59:12 193

原创 js-简易幻灯片制作

先引入move.js这个文件,里面写了完美运动框架window.onload = function () {var oDiv1 = document.getElementById('div1');var oBut = oDiv1.getElementsByTagName('ol')[0].getElementsByTagName('li');var oUl = oDiv

2017-12-14 19:12:03 959

原创 js-多物体运动框架

运动框架:1、在运动开始时,关闭已有定时器。2、把运动和停止隔开(if ()else())3、缓冲运动要取整function startMove(obj,attr,iTarget){clearInterval(obj.time);obj.time = setInterval(function(){var cur = 0;if (attr == 'opacity')

2017-12-14 18:39:14 221

原创 js-关于数组的一些事

Array类型的简介:Array类型在ECMAScript中是一种常见的引用类型,数组中的每一项可以保存任何类型的数据,且数组的大小是可以动态调整的,即可以随着数据的添加自动增长来容纳新增数据。创建新数组的方式有两种:1、var colors= new Array();     //使用Array构造函数来创建2、var colors = ["red","green","yellow"

2017-12-14 15:00:06 120

空空如也

空空如也

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

TA关注的人

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