自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTML+CSS面试题-简述 flex 布局与 grid 布局,二者有什么不同,伪类和伪元素的区别及应用样式

简述 flex 布局与 grid 布局,二者有什么不同flex 弹性布局;grid 二维布局。flex就是沿着一条线铺下去,这个线可能水平,也可能垂直,这个平铺的方向用flex-direction来控制。所以flex才有换行命令。而且当同级小盒子很多的时候,往往动一发而动全身,很不方便。grid是把盒子用线分成很多份,把小盒子一个个填进去。伪类和伪元素的区别及应用样式伪类:向某些选择...

2019-11-24 22:43:52 635

原创 Javascript面试题-js执行机制?简述对 ES6 的了解?javascript原型有什么特点?

js执行机制首先判断JS是同步还是异步,同步就进入主线程,异步就进入异步队列等待异步任务在异步队列中注册函数,当满足触发条件后,被推入主线程同步任务进入主线程后一直执行,直到主线程空闲时,才会去异步队列中查看是否有可执行的异步任务,如果有就推入主进程中简述对 ES6 的了解es6是一个新的标准,它包含了许多新的语言特性和库,是JS最实质性的一次升级。比如箭头函数、字符串模板、gen...

2019-11-24 22:40:19 153

原创 WebAPI-DOMContentLoaded事件

概述当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件就会被触发,与 load 事件不同,该事件无需等待样式表、图像、flash和子框架的完成加载;需要注意的是该事件只有 IE9 以上支持。...

2019-11-24 13:34:56 161

原创 WebAPI-键盘事件

概述所谓键盘事件就是在按键被敲击时触发的一些事件,常见的键盘事件有:keyup(键盘抬起事件)、keydown(键盘按下事件)、keypress(键盘按下并抬起触发事件)keydownkeydown 事件会在按键按下时触发keypresskeypress 在按键按下并抬起时触发事件;但是一些特殊功能的按键不会触发该事件,例如:ALT, CTRL, SHIFT, ESCkeyupkey...

2019-11-23 15:04:01 172

原创 WebAPI-鼠标事件对象中与坐标相关的属性

e.clientXe.clientX 获取鼠标相对于浏览器可视窗口区域的 X 坐标(横坐标)e.clientYe.clientY 获取鼠标相对于浏览器可视区域的 Y 坐标(纵坐标);鼠标位置未变时坐标不会随页面的滚动而改变示例:<div></div><script type="text/javascript"> function $(select...

2019-11-23 13:51:31 274

原创 WebAPI-禁止鼠标右键和鼠标选中

鼠标右键菜单contextmenu 当点击鼠标右键或按下键盘上的菜单键时会触发该事件,该事件会打开上下文菜单在有些情况下需要禁用鼠标右键菜单,这时就可以使用事件对象的 preventDefault() 方法禁用右键菜单未禁用时:<p>这是一段文字,测试是否能使用右键菜单</p><script> function $(selector) { re...

2019-11-23 08:43:57 228

原创 小程序相关面试题-小程序关联微信公众号如何确定用户的唯一性?如何实现下拉刷新?

小程序关联微信公众号如何确定用户的唯一性如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 union_id来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 union_id 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,union_id 是相同的如何实现下拉刷新首先在全局 config 中的 w...

2019-11-22 19:35:18 1282

原创 小程序相关面试题-小程序的双向绑定与vue哪里不一样?小程序的 wxss 与 css 有哪些不一样的地方?

小程序的双向绑定与vue哪里不一样小程序直接 this.data 的属性是不可以同步到视图的,必须调用:this.setData({ // 这里设置 noBind:true})小程序的 wxss 与 css 有哪些不一样的地方wxss的图片引入需使用外链地址;没有Body;WXSS新增了尺寸单位,WXSS 在底层支持新的尺寸单位 rpx;WXSS 提供全局样式与局部样式使...

2019-11-22 19:34:20 831

原创 WebAPI-事件委托

概述事件委托(也叫事件代理)主要是用来解决后生成元素(动态添加的元素)的事件绑定问题实现原理:将事件绑定在已存在的父级元素上,当触发子元素时,会通过事件冒泡,事件会冒泡到父元素身上。举个例子:到了中午,一个宿舍的哥们都要去买午饭,要么每个人都去买,要么把这件事情委托给宿舍中的某个人(叫“爸爸”),要么让这个人一次性去买,然后再根据床位将其一 一分发给指定的同学;在这里,买午饭就是一个事件...

2019-11-22 17:01:50 337

原创 小程序相关面试题-微信小程序原理?怎么解决微信小程序异步请求问题?

微信小程序原理微信小程序采用 JavaScript WXML WXSS 三种技术进行开发微信的架构,是数据驱动的架构模式,它的 UI 和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现小程序分为两个部分 webview 和 appService 。其中 webview 主要用来展现 UI,appService 有来处理业务逻辑、数据及接口调用。它们在两个进程中运行,通过系统层 JS...

2019-11-21 21:20:47 356

原创 WebAPI-事件对象参数

概述事件触发后就会产生事件对象,与事件相关的信息都会存储在一个对象中;这个对象会以参数的形式传给事件处理函数,所以事件处理函数默认会有一个事件对象参数...

2019-11-21 21:13:24 228

原创 JavaScript面试题-多维数组扁平化的四种方法

所谓的数组扁平化就是将多维数组转成一维数组,例如:将多维数组 [[1, 2, 8, [6, 7]], 3, [3, 6, 9], 4] 转成 [1, 2, 8, 6, 7, 3, 3, 6, 9, 4] 的形式,以下为数组扁平化的几种方法方法一:通过递归函数实现1// 多维数组var arr = [[1, 2, 8, [6, 7]], 3, [3, 6, 9], 4]function g...

2019-11-21 19:16:39 2175 1

原创 WebAPI-DOM事件流

概述js事件在触发时会在元素节点之间按照特定的顺序进行传播,这个传播的过程就是 DOM 事件流。例如:给页面中的一个 button 按钮注册了点击事件并进行了点击,因为 button 在 body 标签内部所以当点击了 button 时也就点击了 body;body 又在 html 内部,所以就点击了html;html 在 doucment 文档中也就点击了document。两种事件流...

2019-11-20 20:50:14 139

原创 JavaScript-如何判断数据类型

一元运算符:typeof()typeof 用于判断变量的数据类型;typeof() 的结果字符串有几种情况: “string(字符串)” 、 “number(数字)” 、 “boolean(布尔型)” 、 “undefined(未定义)” 、 “object(对象)” 、 “function(函数)”另外:null、对象、数组这三种类型,都将返回 “object”。注意: typeof是一元...

2019-11-20 09:23:40 90

原创 JavaScript面试题-documentwrite 和 innerHTML 的区别?

document.write 和 innerHTML 的区别主要区别:document.write 是直接将内容写入页面的内容流,会导致页面全部重绘,innerHTML 将内容写入某个DOM节点,不会导致页面全部重绘...

2019-11-20 08:46:43 341 1

原创 JavaScript面试题-任务队列?

任务队列JS 属于单线程任务队列同步任务同步任务是在主线程上排队执行的任务,只有前一个任务执行结束,才能执行下一个任务。异步任务异步任务不进入主线程,而是进入 “任务队列” ,只有 “任务队列” 通知主线程某个异步任务可以执行了,该任务才会进入主线程执行。事件循环所有的同步任务都在主线程上执行,形成一个执行栈;主线程外有一个 “任务队列” ;当异步任...

2019-11-20 08:46:08 421

原创 JavaScript面试题-宏任务与微任务?

宏任务&微任务macro-task(宏任务):包括整体代码script,setTimeout,setInterval宏任务所处的队列就是宏任务队列宏任务队列可以有多个micro-task(微任务):new Promise.then(回调),process.nextTick微任务所处的队列就是微任务队列只有一个微任务队列在上一个宏任务队列执行...

2019-11-20 08:44:47 871

原创 HTML+CSS面试题-用Flex写一个垂直水平居中示例?三栏布局如何实现?

垂直水平居中实例Html代码<div id="box"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> &...

2019-11-20 08:40:27 1127

原创 HTML+CSS面试题-BFC 是什么?IE 的双边距 BUG如何解决?

BFC 是什么?BFC(块级格式化上下文),一个创建了新的 BFC 的盒子是独立布局的,这个区域与外部毫不相干,盒子内元素的布局不会影响盒子外面的元素。在同一个 BFC 中的两个相邻的盒子在垂直方向会发生 margin 重叠的问题触发条件:根元素(例如:html)元素浮动了(float 不为 none)position 为 absolute 或 fixeddisplay 为 inli...

2019-11-20 08:30:46 198

原创 JavaScript面试题-什么是闭包,为什么要用它?

什么是闭包,为什么要用它函数嵌套函数;内部函数可以引用外部函数的变量或参数好处、应用:希望一个变量长期驻扎在内存中避免全局变量的污染(代码模块化)私有成员function fun() { let num = 36 console.log(num) return function func() { num++; console.log(num) }}...

2019-11-19 21:55:21 424

原创 JavaScript面试题-JavaScript 怎样添加移除移动复制创建查找节点?

JavaScript 怎样添加移除移动复制创建查找节点创建节点createDocumentFragment()//创建一个DOM片段createElement() //创建一个具体的元素createTextNode()//创建一个文本节点添加、移除、替换、插入appendChild() //添加removeChild() //移除replaceChild() //替换in...

2019-11-19 21:52:05 140

原创 JavaScript面试题-如何将 url 参数 解析为一个对象?

将 url 参数 解析为一个对象function parseQueryString(url) { // 先将字符串通过 split 方法,以 "?" 为分割符将其分割成数组; // 该数组有两个元素,第一个为空字符串,第二个为 url 参数字符串 let arr = url.split('?') // 将参数字符串以 "&" 符号为分隔符进行分割 let params...

2019-11-19 21:51:05 1468

原创 小程序相关面试题-微信小程序有哪些参数传值的方法?如何提高微信小程序的应用速度?

微信小程序有哪些参数传值的方法给HTML元素添加 data-* 属性来传递我们需要的值,然后通过 e.currentTarget.dataset 或 onload 的param 参数获取。但 data- 名称不能有大写字母、不可以存放对象设置id 的方法标识来传值通过 e.currentTarget.id 获取设置的id的值,然后通过设置全局对象的方式来传递数值在 navigato r中添...

2019-11-19 21:36:13 571

原创 ES6相关面试题-ES6有哪些新特性?let和var的区别?

Es6有哪些新特性let(定义变量)const(定义常量块级作用域(只对let、const有效)arrow (箭头函数)class 类数据结构 map、set数组解构、对象解构let和var的区别通过 let 声明的变量没有变量提升,不能重复命名;let 只在块级作用域有效(一个{}就是一个作用域 ,for{} 也是一个块作用域);let 有临时失效区(在 let 的作...

2019-11-19 21:27:43 460

原创 WebAPI-注册事件的两种方式,删除事件的方式详解

注册事件传统注册方式通过 on 开头进行注册事件的方式特点通过这种方式注册的事件具有唯一性,同一个元素注册多个相同的事件最后注册的事件会覆盖之前注册的事件(后者覆盖前者)示例:<input type="button" id="btn" value="按钮"><script>function $(id){ return document.getEleme...

2019-11-19 18:02:30 227

原创 小程序相关面试题-微信小程序相关文件类型? 如何封装微信小程序数据请求?

微信小程序相关文件类型.js -------- 脚本文件:页面的交互逻辑均在此页面中进行.json ------ 配置文件:用于设置程序的配置效果.wxml ---- 页面结构文件:书写控件,构建页面.wxss ----- 样式文件:类似于css样式,用于美化页面如何封装微信小程序数据请求一、将所有的接口放在统一的js文件中并导出二、在app.js中创建封装请求数据的方法三、在子页...

2019-11-18 20:38:31 265

原创 WebAPI-创建、添加节点方法汇总

document.createElement(nodeName) 通过指定的元素名称创建对应的元素并返回,该方法只是创建了元素并未将元素添加到页面中;document.createTextNode(text) 该方法用于创建一个文本节点并返回;node.cloneNode(deep) 该方法用于克隆指定的节点;parentNode.appendChild(node) 用于向指定节点的子节点列表末尾添加新的子节点(追加节点,就像数组方法中的 push() 方法);返回值为添加的节点

2019-11-18 19:29:08 322

原创 WebAPI-获取兄弟节点的方法汇总

nextSiblingnode.nextSibling 获取指定节点的下一个兄弟节点,如果当前节点的后面没有节点则返回 nullnode 当前节点对象<div class="box"> <p id="p">p标签</p> 文本节点 <div>div标签</div></div><script ty...

2019-11-18 17:37:19 256

原创 小程序相关面试题-微信小程序支付流程

微信小程序支付流程小程序调用登录接口获取code,传递给商户服务器用来获取用户的openIDtoken的生成以及缓存调用统一下单接口,获取prepay_id,再次签名小程序获取五个参数后,鉴权调起支付appId,nonceStr,package,signType,timeStamp(需要注意的是,这5个参数签名排序的顺序按照ASCII字典序排序)支付回调...

2019-11-17 17:23:20 1742

原创 小程序相关面试题-微信小程序登录流程

微信小程序登录流程客户端获得code值,并将code传给第三方服务端微信小程序客户端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端第三方服务端用code换session_key和openid小程序客户端端将code传给第三方服务器端,第三方服务器端调用微信服务器端接口,用code换取session_key和openid第三方服务端生成...

2019-11-17 17:22:00 1305

原创 Vue相关面试题-vue组件间是怎么通讯的?

vue组件间是怎么通讯的父子组件传值父组件向子组件传值是通过 v-bind 属性绑定的方式(需要自定义一个属性名),将其 data 属性中的值传给子组件。子组件通过 props 属性接收父组件传递过来的数据,该属性的值是一个数组,成员名为自定义属性名的字符串。兄弟组件传值通过空的 Vue 实例(用变量来存储这个实例,例如:Bus),作为中央事件总线,进行通信谁需要数据谁就要提供事...

2019-11-17 17:18:03 552

原创 Vue相关面试题-怎样定义组件?

怎样定义组件使用 Vue.extend() 构造器,创建一个“子类”。参数是一个包含组件选项的对象。let mod = Vue.extend({ // 通过 template 设置 组件的 HTML 结构 template: '<h1>使用 Vue.extend 创建的组件</h1>'})// Vue.component( id, [definition] ) ...

2019-11-16 16:38:38 556

原创 Vue相关面试题-Vue全家桶有些什么?Vuex 的使用和五个核心?

Vue全家桶有些什么vue核心 + vue-resource + vue-router + vue-cli + vuexVuex 的使用和五个核心VueX 是一个专门为 Vue.js 应用设计的状态管理架构,统一管理和维护各个vue组件的可变化状态Vuex五个核心:state, getters, mutations, actions, modulesstate => 基本数据ge...

2019-11-16 16:23:27 682

原创 Vue相关面试题-v-if v-show的区别?

v-if v-show的区别共同点v-if和v-show都是通过判断绑定数据的true或者false来展示的不同点v-if判断为true的时候才会对数据进行渲染,为false的时候吧结构dom删除倾向于对数据一次性操作v-show无论判断是什么都会先对数据进行渲染,为false的时候对dom进行display:none操作,改变数据的值可以使数据显示或者隐藏。用法v-if...

2019-11-16 16:22:26 232

原创 Vue相关面试题-Vue的数据双向绑定原理?Vue全家桶有些什么?Vuex 的使用和五个核心?

Vue 的数据双向绑定原理采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫持各个属性 setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。当把一个普通 Javascript 对象传给 Vue 实例来作为它的 data 选项时,Vue 将遍历它的属性,用 Object.defineProperty() 将它们转为 get...

2019-11-15 20:34:02 328

原创 WebAPI-DOM树,获取父节点、获取子节点的方法汇总

DOM树DOM树 又称为 文档树模型,就是把文档映射成树形结构,通过节点对象对其处理,处理的结果可以加载到当前的页面中。DOM树 就像人类家族的族谱,族谱可以很容易的表明家族成员之间的关系,将复杂的关系简明地表示出来。节点操作获取父节点通过 parentNode 属性可以获取指定节点的父节点;如果指定的节点没有父节点就会返回 null,如果存在则返回父节点对象语法:node.pa...

2019-11-15 20:10:24 1252

原创 WebAPI-获取DOM节点的节点名称、节点类型值、节点值

DOMDOM 就是 文档对象模型,是 Document Object Model 的简称;是 W3C 国际标准化组织 制定的一套处理 HTML 和 XML 文档的规范,所有的浏览器都遵循了这套标准W3C 组织定义了一系列的 DOM 接口,通过这些 DOM 接口就可以修改网页的内容、结构和样式。DOM 节点根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:整个...

2019-11-15 15:53:41 703

原创 Vue相关面试题-vue怎样请求数据?vue路由是怎么做的(路由的原理)?

vue怎样请求数据vue请求数据有 Vue-resource、Axios、fetchJsonp三种方式。Vue-resource是Vue官方提供的插件,axios与fetchJsonp是第三方插件vue路由是怎么做的(路由的原理)核心原理:更新视图但不重新请求页面路由模式:hash:hash即浏览器url中#后面的内容,包含#。hash是URL中的锚点,代表的是网页中的一个位置,单单...

2019-11-14 21:01:23 630

原创 Vue相关面试题-active-class是哪个组件的属性?嵌套路由怎么定义?组件化模块化的区别?

active-class 是哪个组件的属性active-class是vue-router模块的router-link组件中的属性,用来做选中样式的切换;嵌套路由怎么定义一级路由里面使用children数组配置子路由,就是嵌套路由组件化模块化的区别类别目的特点接口成果架构定位组件重用、解耦高重用、松耦合无统一接口基础库、基础组件纵向分层模块隔离...

2019-11-14 20:59:01 3962

原创 WebAPI-js设置或删除元素属性的方法

HTML属性分类HTML 元素的属性分为两种:标准(内置)属性和自定义属性标准属性:官方定义的属性自定义属性:HTML规范允许开发人员为元素设置非官方定义的属性;在最新的规范中推荐使用 data- 作为前缀来自定义属性获取属性值的方式通过点 . 的方式想要获取指定元素对象的某个属性值直接通过 . 加属性名即可获取属性值语法:elementObject.attributeNam...

2019-11-14 18:58:34 336

空空如也

空空如也

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

TA关注的人

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