自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决iphone11及以上适配问题

解决iphoneX 适配问题前言适配之前需要了解的几个新知识安全区域env() 和 constant()如何适配第一步:设置网页在可视窗口的布局方式第二步:页面主体内容限定在安全区域内第三步:fixed 元素的适配结语前言iPhoneX 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题。对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可(即常见的吸底导航、返回顶部等各种相对底部 fixed 定位的元素)。笔者通过查阅了一

2020-06-08 19:46:36 2811

原创 制作属于自己的脚手架(史上最细)

制作属于自己的脚手架不是cli的脚手架。如果有过兴趣。自己可以使用node.js 中, ????.js 自己写gennerator 的脚手架方式yo命令官网地址:https://yeoman.io/yoyeoman 制作脚手架命令安装npm install -g yoyo 命令的作用是制作脚手架命令yo --version 查看版本号制作脚手架*generater-generator 可以制作脚手架工具npm install -g generator-generator生成脚

2020-09-05 10:11:15 336

原创 如何用Object.defineProperty()做数据劫持

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script&gt

2020-07-29 21:11:25 506

原创 程序员必须了解的网络基础知识的(下)

67)直通电缆的标准颜色顺序是什么?橙色/白色,橙色,绿色/白色,蓝色,蓝色/白色,绿色,棕色/白色,棕色。68)什么协议落在 TCP/IP 协议栈的应用层之下?以下是 TCP/IP 应用层协议:FTP,TFTP,Telnet 和 SMTP。69)您需要连接两台电脑进行文件共享。是否可以这样做,而不使用集线器或路由器?是的,您可以使用一根电缆将两台计算机连接在一起。在这种情况下可以使用交叉型电缆。在这种设置中,一条电缆的数据传输引脚连接到另一条电缆的数据接收引脚,反之亦然。70)什么是 ipco

2020-07-17 08:56:02 690

原创 程序员必须了解的网络基础知识点(中)

34)在 OSI 参考模型方面,TCP/IP 应用层的等同层或多层是什么?TCP/IP 应用层实际上在 OSI 模型上具有三个对等体:会话层,表示层和应用层。35)如何识别给定 IP 地址的 IP 类?通过查看任何给定 IP 地址的第一个八位字节,您可以识别它是 A 类,B 类还是 C类。如果第一个八位字节以 0 位开头,则该地址为 Class A.如果以位 10 开头,则该地址为 B 类地址。如果从 110 开始,那么它是 C 类网络。36)OSPF 的主要目的是什么?OSPF 或开放最短路径优

2020-07-17 08:53:49 326

原创 程序员必须了解的网络基础知识点(上)

1)什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2)OSI 参考模型的层次是什么?有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。3)什么是骨干网?骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。4)什么是 LAN?LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。5)什么是节点?节点是指连接发生的点。它可以是作为网络一部分的计算机

2020-07-16 22:43:23 547

原创 常见js中的正则表达式

一、校验数字的表达式1. 数字:^[0-9]*$2. n位的数字:^\d{n}$3. 至少n位的数字:^\d{n,}$4. m-n位的数字:^\d{m,n}$5. 零和非零开头的数字:^(0|[1-9][0-9]*)$6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7. 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8. 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$9. 有两位小数

2020-07-16 22:12:15 168

原创 js简单的轮播图的写法

代码<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> * {

2020-07-09 23:02:35 262

原创 js的垃圾回收机制以及内存泄漏的情况及解决方法

JS的垃圾回收机制。Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。JS中最常见的垃圾回收方式是标记清除。工作原理:是当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。工作流程:垃圾回收器,在运行的时候会给存储在内存中的所有变量都加上标记。去掉环境中的变量以及被环境中的变量引用的变量的标记。再被加上标记的会被视为准备删除的变量。垃圾回收器完成内存清除工作,销毁那些带标记的值并回收他们

2020-07-07 20:34:15 292

原创 css有哪些新特性

一、选择器:E:nth-child(n) 选择器匹配其父元素的第n个子元素,不论元素类型,n可以使数字,关键字,或公式E:nth-of-type(n) 选择与之其匹配的父元素的第N个子元素E:frist-child 相对于父级做参考,“所有”子元素的第一个子元素,并且“位置”要对应E:frist-of-type 相对于父级做参考,“特定类型”(E)的第一个子元素E:empty 选择没有子元素的每个E元素E:target 选择当前活动的E元素::selection 选择被用户选取的元素部分属性

2020-07-07 20:24:53 1300

原创 js的作用域(scope)深入了解

一、什么是作用域(Scope)[[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供javascript引擎存取,[[scope]]就是其中一个。[[scope]]指的就是我们所说的作用域,其中存储了运行期上下文的集合。即作用域决定了代码区块中变量和其他资源的可见性。二、变量的作用域类型1.全局作用域:全局作用域贯穿整个javascript文档,在所有函数声明或者大括号之外定义的变量,都在全局作用域里。一旦你声明了一个全局变量,那么你在任何

2020-07-06 23:28:16 1077

原创 解决Html5标签兼容性问题的4种方法

前言相信大家在开发的时候遇见了ie浏览器不兼容html5标签的问题,在此笔者为大家整理了4种比较常用的方法,便于大家使用,如果有什么不对希望大家及时指出。方法一通过meta标签改变浏览器内核做兼容方法二用CSS hack技术解决浏览器兼容性问题什么是CSS Hack?不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS HackCSS Hack 形

2020-07-06 20:37:04 2208

原创 js中关于arguments的深入理解

了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。arguments他的特性和使用方法特性:1.arguments对象和Functio

2020-07-03 19:32:48 165

原创 一步了解js中GO和AO的产生过程

对于js来说,首先会有一个预编译期的过程,那么在预编译过程中会发生什么?预编译:函数预编译AO,全局预编译GOAO预编译是发生在函数执行的前一刻。(函数)预编译分四个步骤:function test(a,b){console.log(a);var c = 123;console.log©;function a(){};//这个是函数声明console.log(b);var b = function c(){};//这个是函数表达式console.log(b);}test(1,3)

2020-07-02 21:20:33 704

原创 Js关于作用域、作用域链和闭包的理解

作用域先来谈谈变量的作用域变量的作用域无非就是两种:全局变量和局部变量。全局作用域:最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的:局部作用域:和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,而对于函数外部是无法访问的,最常见的例如函数内部作用域总结1: 一个作用域下可以有多个子作用域2:相邻的子域之间不可以相互访问;父域不可以访问子域的内容3:子域可以访问父域的变量作用域链(Scope Chain)那什么是作用域链?我的理解就是,根据在

2020-07-02 21:12:46 316

原创 数组排序常见的7种方法

数组排序1、桶排序(桶中出现的数组元素都做个标记1,然后将桶数组中有1标记的元素依次打印)//简单, 但是不用,浪费内存var arr2=[];for(var i=0;i<arr.length;i++){var key=arr[i];arr2[key]=1;}for(var j in arr2){console.log(j);}2、冒泡排序(每一趟找出最大的)for(var i =0,len= arr.length;i<len;i++){// arr[i] // 前面的

2020-06-29 20:43:56 2997

原创 数组去重的8种常见方法

数组去重的方法一、利用ES6 Set去重(ES6中最常用)不考虑兼容性,这种去重的方法代码最少。这种方法还无法去掉“{}”空对象,后面的高阶方法会添加去掉重复“{}”的方法。二、利用for嵌套for,然后splice去重(ES5中最常用)双层循环,外层循环元素,内层循环时比较值。值相同时,则删去这个值。三、利用indexOf去重新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,如果有相同的值则跳过,不相同则push进数组。四、利用sort()利用sort()排序

2020-06-29 20:07:48 4820

原创 如何使用最基本的for循环

前言今天学习到了for循环语句,我觉得自己有必要整理一下,虽然很内容很少,但是也不能不重视它,基础要一步一步打牢。一、for循环的语句格式1、循环语句的组成(1)初始化语句:一条或者多条语句,这些语句完成一些初始化操作(2)判断条件语句:这是一个boolean 表达式,这个表达式能决定是否执行循环体(3)循环体语句:这个部分是循环体语句,也就是我们要多次做的事情(4)控制条件语句:这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循 环条件中的变量,使得循环在合适的时候结束

2020-06-20 11:13:05 493

原创 你真的会用js中的++和--吗

前言自增和自减相信大家都听说过,就拿自增来说,++在前,先运算在赋值,++在后先赋值,在运算。我相信大家都记得这句话,可是实际用的时候,你真的会算对吗?小试牛刀来看一道题 var c = 1; var z = ++c + c++; 我刚开始算的步骤是: z=2+c++ z=2+2++ z=2+3 z=5反思 : 这是我第一次的解题步骤,但是我到浏览器打印的结果是4,我当时人就‘傻了’。我寻思自己的解题步骤没错啊,那问题肯定就是我的解题思维出现了问题。终于在询问了各路大神后

2020-06-18 23:06:37 242

原创 玩转js隐式转换

预知先问在js底层,什么数据可以进行运算?为什么会有隐式类型转换?个人见解第一问:只有基本数据类型才能进行运算。第二问:由第一问可得,所有的引用类型数据,需要运算时,会先转换为基本类型数据,再进行运算,另外所有的引用类型只能转换为字符串,因为浏览器默认数据类型就是字符串。例子对象转换为字符串都是[object Object]。函数转换为字符串写啥转啥。...

2020-06-17 22:14:42 98

原创 新手一步了解Github

新手一步了解git使用方法对于刚接触github的朋友来说对于新手来说,配置是我们最头疼的问题,对于这样的情况每个人都会有,所以笔者今天教你3步解决github的初级使用;具体步骤一:初始化本地仓库git二:将自己的电脑与指定github账户关联三:将自己的仓库与github上的某个项目关联一:初始化本地仓库git1.下载一个git吧 下载链接 ,根据提示安装git2.新建一个文件夹repo作为本地仓库,右键,选择Git Init here。注意:有的版本没有git init here

2020-06-12 20:47:43 155

原创 看一遍让你永远记住伪类和伪元素的区别

前言这些天在做笔记的时候发现自己对伪类和伪元素区分的还是不够清楚 。我就到网上收集了各种之资料,我也是弄清楚了它们之间 的区别,相信看了这篇博客你也会更加清楚。伪类伪类用于选择DOM树之外的信息,包含那些 匹配指定状态的元素 ,比如:visited,:active;或是 不能用简单选择器进行表示的信息 ,后者包含那些满足一定逻辑条件的DOM树中的元素,比如:first-child,:first-of-type,:target。常用伪类有::active 选择正在被激活的元素(匹配指定状态):ho

2020-06-11 21:41:21 447 2

空空如也

空空如也

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

TA关注的人

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