自定义博客皮肤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)
  • 收藏
  • 关注

原创 浏览器渲染,http响应码,http请求过程

一次完整的HTTP事务是怎么一个过程1、域名解析2、发起TCP的三次握手3、建立TCP连接后发起http请求4、服务器端响应http请求,浏览器得到html码5、浏览器解析html代码,并请求html代码中的资源6、浏览器对页面进行渲染并呈现给客户9.一次完整的HTTP事务是怎么一个过程1、域名解析2、发起TCP的三次握手3、建立TCP连接后发起http请求4、服务器端响应http请求,浏览器得到html码5、浏览器解析html代码,并请求html代码中的资源6、浏览器对页面进行..

2021-03-30 20:45:03 155

原创 面试注意事项

其实基础程序员面试就是考察你的基础知识但是前端面试题会有很多,多到你看不完那种,对于这种情况我们不能盲目的使用题海战术,我们可以从题面上提取有用的关键字,并进行回答 如果只是简单说说倒是没什么 但是要是深入去解释的话就要知道会引出好多的问题,所以咱们可以不是很深入,但是必须要了解举个例子typeof() 是判断什么js类型的?//这个题明眼扫去就是typeof 怎么使用的,但是就可以从中间引出JS的数据类型://就是JS的基本数据类型和引用数据类型,当然也可以顺势往下推进出栈内存和堆内.

2021-03-25 08:01:26 117

转载 冒泡排序,递归,递归深拷贝

随机一个数组 前后对比只有在大于的情况下才往下走 不满足条件时 执行下一个 一组数据需要几次执行完?let arr = [1000,123,44,22,23243,5456,6788,686,2344,2342] let index = 0 for(let i=0; i<arr.length; i++){ index = i++ for(let j=i+1; j<arr.length; j++){ if(arr[i]&gt

2021-03-24 21:10:16 103

转载 事件

事件监听:就是监听一个事件是否变化 function removeEvent( obj,type,fn,capture ){ if( obj.removeEventListener ){ obj.removeEventListener(type,clickFn,true); }else{ obj.detachEvent("on"+ type,clickFn,true); } } rem

2021-03-23 21:17:38 70

原创 DOM操作

DOM操作新增/插入节点查找 HTML 元素方法描述document.getElementById(id)通过元素 id 来查找元素document.getElementsByTagName(name)通过标签名来查找元素document.getElementsByClassName(name)通过类名来查找元素改变 HTML 元素方法描述element.innerHTML = new html content改变元素的 inn

2021-03-21 21:41:10 66

原创 event loop

event loop(事件轮询/事件循环)首先我们要知道 由于js是单线程的脚本,异步事件要基于回调来实现的而event loop 就是异步回调的实现原理js的执行顺序从前到后,一行一行执行如果有一行执行报错,就会停止下面代码的执行先执行同步代码,后执行异步举个例子这上面是一个js执行顺序的小案例上面是浏览器运行首先运行第一行代码,显示console.log(‘Hi’),然后清空调用栈。然后调用函数,函数会进入异步函数队列中最后执行log代码,然后清空然后没有同步

2021-03-21 21:39:11 79

原创 回调地狱

同步异步同步和异步对比异步是基于单线程运行的同步会阻塞代码的运行,异步不会阻塞代码运行。Promise一般使用来操作ajax数据请求,解决了连续请求的嵌套函数,优化了页面不同的ajax方法Promise方法就是解决了一个回调地狱 的问题。...

2021-03-18 21:07:30 72

原创 自由变量

1,作用域和自由变量作用域代表了一个变量的合法范围,一个变量的作用域是程序源代码中定义的这个变量的区域。1,全局作用域不在任何函数内声明的变量(函数内省略var的也算全局)称作全局变量就是在最外层定义的变量就被称为全局变量,全局都可以使用,所以是全局作用域。2,局部作用域在函数内声明的变量具有函数作用域,属于局部变量,就是在函数内部定义的变量,只在函数内部有用,所以是局部作用域。3,ES6的定义的块级作用域声明变量的方法 有var let constvar 声明的变量可以变量提升 变量

2021-03-17 20:58:15 3212

原创 Vue

★★★ 开头为重点1,Vue 基础使用指令,插值插值,表达式指令,动态属性v-html:这个会有 XSS 风险,会覆盖子组件 (用了之后内部自己写的所有代码块都会被覆盖,失效)computed(计算) 和 watch(监听)computed 有缓存,data不变则不会重新计算(缓存意味着不用重复加载)当 dom 是通过 v-model 绑定时 要 get() 和 set() 否则会报错watch 本身是浅度监听 如何深度监听?要用到 handler 以及 deep : tr

2021-03-16 21:47:25 80

原创 作用域

何为作用域作用域就如它的字面意思,就是一个变量和函数的可以访问到的范围,js的作用域是靠函数形成的,也就是说一个函数的变量在函数外不可以访问作用域又分为两种全局作用域局部作用域全局作用域函数外面定义的变量为全局作用域另:未定义直接赋值的变量自动声明为全局作用域window对象的属性拥有全局作用var a=1function child(){ var b=2 c=3 return b}console.log(a) 2console.log(b) errorcon

2021-03-15 21:50:33 247

原创 js数据类型

js数据类型值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。引用数据类型:对象(Object)、数组(Array)、函数(Function)。js变量类型变量类型:值类型&引用类型// 值类型var a = 100;var b = a;// 引用类型var a = {age:12}var b =atypeof运算符详解(只能区分值类型,函数和对象)ty

2021-03-14 20:33:30 138

原创 原型与原型链

原型什么是原型?原型是一个从其他对象继承属性的对象。是不是任何对象都可以是原型?是的那些对象有原型?每个对象都有一个默认的原型。原型本身就是对象,每一个原型本身也存在一个原型。(只有一个例外,默认的对象原型在每条原型链的顶端,其他的原型在原型链的后面)原型概念每个Javascript对象都和另一个对象相关联(null 除外)。每个构造函数都具有prototype属性,我们将 “构造函数名.prototype” 称为原型【原型在代码中的- - 表现形式也是对象,即( typeo

2021-03-14 19:59:00 71

原创 2021-03-14

css面试题盒模型标准盒模型 border, padding, content, marginIE盒模型 border, padding, content通过 box-sizing属性改变元素的盒模型2.水平居中//1//设置外边距div{ width: 200px; margin: 0 auto;}//2//将盒子转换成行内块元素.container{ background: rgba(0, 0, 0, .5); text-align: center:

2021-03-14 19:36:51 85

原创 前端的性能优化都有哪些

前端的性能优化都有哪些减少HTTP请求次数减少CSS、JS文件的。例如加载一个http页面,如果有多个css文件js文件,那么需要发出多次http请求,这样会让用户第一次页面时需要很长时间等待。但是css文件或js文件只有一个的话,就只需要发一次http请求,大大节省网络请求时间,加快页面的渲染使用CDN网站上静态资源即css、js全都使用cdn分发,图片亦然避免空的src和href将js放在底部,css放在顶部进入页面的资源加载顺序是从上往下加载的,所以css放在页面的顶部能够优先渲染页面

2021-01-19 19:05:36 236

原创 promise

promisepromise作用主要用于异步计算可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果可以在对象之间传递和操作promise,帮助我们处理队列promise是什么?Promise 是一个构造函数,是异步编程的一种解决方案。所谓Promse,它本身就是一个容器,里面保存着异步操作的结果,对的,这和回调函数类似。Promise 容器本身不是异步的,而里面封装一个异步任务。他有三种状态,即:1.pending(进行中)、2.resolved(成功)、3.rejected

2021-01-16 20:32:37 137 1

原创 rem

remrem的值都是针对于当前页面中html元素的font-size的值进行动态计算的有两种方法达到适配不同屏幕① 利用媒体查询,在不同分辨率下给 html 的 font-size 赋值② 利用 js 动态计算赋值,代码如下(function(doc, win) { var docEl = doc.documentElement, resizeEvt = "orientationchange" in window ? "orientationchange" : "res

2021-01-14 19:42:36 89

原创 关于js单线程,事件循环,微任务宏任务

关于js单线程,事件循环,微任务宏任务概念单线程: 一个程序中只可以执行一个任务javascript是一门单线程\异步、非阻塞、解释型脚本语言。所谓单线程,就是当上一句代码没执行完时,下一句代码不会执行。 所以当在页面中需要请求数据时,如果数据都是以单线程的形式请求,会造成上面的数据没有请求到时,下面的数据也不会发送请求,造成很卡的现象多线程:一个程序中可以执行多个任务同步任务的缺点是阻塞,异步任务的缺点是会使代码执行顺序难以判断。两者比较一下我们还是更倾向于后者。所以这里写个例子对时间循环做

2021-01-14 19:32:39 83

原创 vuex

vuex中state、Getters、Mutations、Actions、Modules用法state是全局变量组成的全局对象,通过this.$store.state可以获取这个对象。state可以直接修改值Getters就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算this.$store.getters.state1Mutations更改 Vuex 的 store 中的状态的 唯一方法 是提交 mutation! mut

2021-01-13 21:56:11 80

原创 面试小题

深拷贝浅拷贝深拷贝和浅拷贝是针对复杂数据类型来说的,浅拷贝只拷贝一层,而深拷贝是层层拷贝。深拷贝深拷贝复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制。 深拷贝后的对象与原来的对象是完全隔离的,互不影响, 对一个对象的修改并不会影响另一个对象。浅拷贝浅拷贝是会将对象的每个属性进行依次复制,但是当对象的属性值是引用类型时,实质复制的是其引用,当引用指向的值改变时也会跟着变化。可 以 使 用 for in 、 Object.assign 、 扩 展 运 算 符 … 、Arr..

2021-01-13 20:39:13 91

原创 github

githubgitgub是什么GitHub是一个开源的托管服务,有点像代码的云。它以各种不同的编程语言托管您的源代码项目,并跟踪每次迭代所做的各种更改。该服务可以通过使用git(一种在命令行界面中运行的修订控制系统)来完成此操作。为什么要使用GitHub使用GitHub可以更轻松地与同事和同事协作,并回顾以前版本的工作。搭建服务器优点基于文件仓库的优点在于它的简单,同时保留了现存文件的权限和网络访问权限。如果你的团队已经有一个全体共享的文件系统,建立仓库就十分容易

2021-01-13 20:18:33 127

原创 git

gitgit init 作用是初始化一个能让git进行管理的仓库 使用 attrib -h .git可以释放出隐藏文件.git创建出自己的项目文件 打开项目文件夹 然后在文件夹中打开git命令窗git add ‘文件名称’ 提交单个文件 git add . 提交所有修改的文件git status 可以查看当前git所处的装太 比如放在git add 后执行git status命令可以查看当前都添加了那些修改的内容git commit -m “本次更改的描述内容” 因为描述内容需要表达本次修改的内容

2021-01-12 19:07:29 58

原创 递归

递归什么是递归:直接或间接调用函数本身,则该函数称为递归函数递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回...

2021-01-11 21:39:41 82

原创 冒泡排序

关于 冒泡排序冒泡排序是一种较简单的排序算法它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”基本思想: 冒泡排序,将较大的数沉下去,较小的数冒起来,假设一个随机数字的数组需要从小到大排序,利用冒泡排

2021-01-11 17:06:20 112 1

空空如也

空空如也

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

TA关注的人

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