前端面试题整理
文章平均质量分 68
Markov Zheng
认真填坑
展开
-
Js中? ?和? .
Js中??和?.和 ||空值合并操作符 ??只有当左侧为null或者undefined的时候才输出右侧的值逻辑或操作符 ||左侧的值为假值的时候就输出右侧的数假值:null undefined '' 0例子:console.log(null ?? 'ss') // 输出ssconsole.log(undefined ?? 'ss') // 输出ssconsole.log(0 ?? 'ss') // 输出0console.log(0 || 'ss') // 输出ss原创 2021-11-17 18:11:46 · 264 阅读 · 0 评论 -
React-cli使用Redux以及使用redux-persist处理刷新页面redux中数据丢失的问题
React-cli使用Redux以及使用redux-persist处理刷新页面redux中全局数据丢失的问题写在前面:项目基于 react + typescript + react-router + antd + redux + redux-persistReact-create-app中使用Redux首先目录结构如下| -- src | -- pages | -- Home | -- Home.tsx | -- Login | -- Login.tsx | -- st原创 2020-08-31 17:06:06 · 1214 阅读 · 0 评论 -
解决移动端的滑动事件总是出现无法侦听被动事件?
使用 swiper.js jquerymobile.js 等移动端js库的时候,如果使用了滑动事件,不时会看到报错:“ Unable to preventDefault inside passive event listener due to target being treated as passive”。但奇怪的是脚本运行正常,解决方法 css中加上这句* { touch-action...原创 2018-06-11 16:58:47 · 1478 阅读 · 1 评论 -
SEO优化(一)
SEO优化开发一个网站,制胜的关键有以下几点内容博人眼球渲染速度快兼容性好,不同环境下运行正常与用户存在互动服务器端使用CDNCDN 指内容分发网络CDN加速是指加速项目中静态资源的下载速度,比如图片,js,css等CDN加速的原理:将网站的内容分发至离用户最近的节点,使用户就近取得所需要的内容,提高响应速度,适用于 站点加速,直播,点播等场景。提高爬...原创 2018-06-14 09:16:50 · 4157 阅读 · 2 评论 -
SEO优化(二)
SEO优化(二)蜘蛛爬取我们的网站信息很重要一点,就是通过html代码爬取信息,那么有选择性的让爬虫爬取网站中重要信息是十分必要的,这里是一些优化html代码的方式head中添加title标签title标签可以告诉爬虫,接下来的内容的主要思想是什么,一般来说title中可包含接下来内容的关键字3-5个左右,并且和内容高度相关,每个页面都应该有自己的title标签headin...原创 2018-06-15 11:09:20 · 384 阅读 · 0 评论 -
git强制t提交+VS激活码
git强制提交报错信息error: failed to push some refs to 'https://github.com/......'hint: Updates were rejected because the tip of your current branch is behindhint: its remote counterpart. Integrate the...原创 2018-07-11 10:54:08 · 374 阅读 · 0 评论 -
Mock.js-拦截Ajax请求
Mock.js-拦截Ajax请求在团队开发项目时,由于不是一个人去写前端,后端代码,开发进度的不同导致一个团队等待另一个团队的情况,后端人员除了要写接口,还要写接口文档,进度可能比前端人员略慢,前端人员停下来等待接口又十分的不友好,拖慢项目的进度,有的人定义一个json,模拟返回数据,但是这样的话又不够灵活,不能模拟后台返回的不同类型的数据,于是Mock.js就是一个解决这种问题的神器,...原创 2018-07-27 10:24:50 · 4756 阅读 · 0 评论 -
Vue的按需加载
Vue的按需加载按需加载,又称延迟加载或者懒加载,只有在使用到的时候才会加载进来import引入的模块,会在加载imdex.js文件的时候,去加载所有的模块Vue中提供import的加载方式import Vue from 'vue'import Router from 'vue-router'import '@/components/Base'import '@/co...原创 2018-08-14 16:48:33 · 2427 阅读 · 0 评论 -
JS中数字的精度损失
JS数字的精度损失所有数字都是以 64 位浮点数形式储存,即便整数也是如此。 所以我们在打印 1.00 这样的浮点数的结果是 1 而非 1.00任何一门语言都会存在数字的精度损失问题,计算机只识别二进制,用户输入十进制的数字之后,计算机会将其转化成二进制进行运算,在转化成10进制返回给用户,在这些转化中可能会存在一些误差,这里有一些经典的例子0.1 + 0.2运算结果:0.300...原创 2018-08-02 13:19:59 · 3379 阅读 · 0 评论 -
vux获取PopupRadio子组件的值
在使用VUX的组件中,用到了PopupRadio组件,但是在文档中,并没有表明如何去获取select中的值,于是,我在这里使用了$refs与ref,直接上代码<template> <div class="getOilCard"> <ul> <li> <PopupRadio :opt...原创 2018-08-28 11:50:42 · 3215 阅读 · 0 评论 -
axios的使用.md
axios的使用在本次的项目中使用Vue构建 的项目需要向后台发起请求,Vue本身并不支持发起请求,需要使用vue-sour或者axios等插件,在新版本中对vue-souurce的支持并不友好,我在这里使用了axios,引入的方式有多重,这里只记录通过标签对侵入的方式引入<script src="https://unpkg.com/axios/dist/axios.min.js"&g...原创 2018-09-18 22:00:44 · 614 阅读 · 0 评论 -
VUE中fetch结合支付宝API验证银行卡号
标题VUE中fetch结合支付宝API验证银行卡号工作中提出验证银行卡的需求,在项目基于vue的情况下,刚开始用正则,结果是不太准确换个方法就是要使用支付宝去验证用户输入的手机号Bank组件如下<template> <div> <x-input title="银行卡号" placeholder="请输入银行卡号" type="text" @on-blur...原创 2019-02-28 11:03:50 · 2809 阅读 · 0 评论 -
Vue项目中,在iphone中软键盘和固定定位(fixed)相关问题的解决办法
Vue项目中,在iphone中软键盘和固定定位(fixed)相关问题的解决办法问题描述:在开发公众号项目的时候,遇到适配苹果7 的情况,苹果软键盘弹出之后会与position:fixed冲突出现问题,具体表现是,软键盘弹出时,底部的按钮会被顶到上面来,当软键盘消失后,滚动区域没有正确回正,导致一些内容点击事件无效。。。解决方案:在软键盘消失的时候,手动将滚动区域回到顶部,具体操作是:&...原创 2019-03-05 13:39:36 · 3230 阅读 · 0 评论 -
wepy框架中分享(转发)小程序到群聊
在index.wpy的onload中插入//显示转发按钮及分享的群列表wepy.showShareMenu({ withShareTicket: true}) //在onShareAppMessage中设置分享的界面,**onShareAppMessage和onload同级** onShareAppMessage( options ){ var that = ...原创 2019-05-13 14:36:02 · 1326 阅读 · 0 评论 -
Vue2.0直接绑定键盘事件失效
Vue2.0直接绑定键盘事件失效很多刚开始使用v-on或者@的键盘事件时,经常会碰到明明添加了@keyup.按键名/值,却没有起作用,其实不是没有起作用,而是元素没有获取焦点导致的。可以尝试把 keyup 事件绑定在 document 上面。var lett = this; document.onkeydown = function (e) { var key =...原创 2019-05-31 17:27:46 · 1095 阅读 · 0 评论 -
css问题整理
CSS问题整理在移动端上运行,发现,点击某些带事件的DOM后,出现瞬间的闪动,a标签点击的时候还是出现黑色的背景。 解决方案在css中添加*{ -webkit-tap-highlight-color:transparent;//方法一main -webkit-tap-highlight-color: rgba(0, 0, 0, 0);//方法二}c...原创 2018-05-09 16:29:47 · 129 阅读 · 0 评论 -
React中的diff算法
React中的diff算法使用React是为了维护状态,相比于Vue,React的生态系统更加完善,不同于Vue的双向数据绑定,采用独特的单项数据绑定,这就决定着数据流也是单项的,对于复杂应用来说,单项数据流是统一状态管理,比如redux的前提。双向数据绑定的优势在于,显示需要实时更新的项目,比如,股市,多级联动等。总之就是,需要开发大型复杂项目,适合react全家桶。在传统的DOM操...原创 2018-04-24 16:50:04 · 466 阅读 · 0 评论 -
JS问题整理(三)
JS踩坑整理(三)push:数组尾部添加pop:数组尾部删除shift:数组开头删除一个元素,返回删掉的值unshift:数组开头添加一个或多和元素,返回长度声明变量的提升无论在哪个地方声明了变量,js引擎都会将他的声明放在 范围作用域的顶部函数声明的提升代码执行之前会读取函数的声明,也就是说函数的调用可以放在函数的声明之前无论在那个地方声明了变量,js...原创 2018-04-10 15:14:39 · 193 阅读 · 0 评论 -
前端面试题(一)
浏览器内核谷歌 blink内核火狐 gecko内核ie trident内核opera presto内核js中定义一个类DOM元素.classList.add(“类名”)js中的数据类型初始数据类型:null undefined number boolean symbol string引用数据类型:数组 对象 函数装箱和拆箱装箱:把原创 2018-01-12 10:42:21 · 1447 阅读 · 0 评论 -
React原理的认识
React原理的认识今天被一个朋友问到React的背景和原理,我记得自己以前总结过,但是还是有点懵,所以再写一下,增加自己的认知。React是MVC架构的V层,React把每一个组件当成一个状态机在通常web应用开发时,我们总是需要将数据实时的展示到页面中去,以往的开发模式是每当数据产生变化,总是重新渲染整个页面,即使只改变一小部分,也会渲染整个页面,这就导致了性能的低下。为此Re原创 2018-01-31 11:26:23 · 1051 阅读 · 0 评论 -
小程序踩坑日志(三)----Labrador
小程序模块化开发框架—–Labrador网址:https://github.com/maichong/labrador之前一直用的微信开发者工具去直接修改代码,倒不是说这样不行,就是不太友好,目录结构混乱,逻辑不清晰,身为开发者,我有时候都会混淆一些东西,更何况团队开发,所以不建议使用微信开发工具去直接修改代码,今天在网上看见一个Labrador框架,所以准备研究一下,正式学习之前需要原创 2018-01-31 15:09:50 · 2136 阅读 · 0 评论 -
SomeProblem(二)
let O = function(name){ this.name = name || ‘world’; }; O.prototype.hello = function(){ return function(){ console.log(‘hello ’ + this.name); }; }; let o = new O; le原创 2018-01-26 10:28:26 · 299 阅读 · 0 评论 -
异步的问题
promise async await generators之间的关系和区别async/await的主要益处就是有效的避免的回调地狱async表示这是一个async函数,await只能用在这个函数里。async也是一个promise对象await表示在这里等待promise返回结果了,再继续执行await后面跟着的应该是一个promise对象Promise的含义Prom原创 2018-02-02 10:51:57 · 303 阅读 · 0 评论 -
http请求(一)
HTTP请求详解首先http请求如下域名解析—-发起TCP的三次请求—建立TCP连接后发起http请求—服务器响应http请求,浏览器得到html代码—浏览器解析html代码,并请求代码中的资源(js css 图片)—浏览器渲染页面以chrome为例1.域名解析(DNS)DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分原创 2018-02-05 17:18:23 · 272 阅读 · 0 评论 -
前端面试题(二)----前端模块化和组件化的区别和联系
前端组件化开发和模块化开发的区别之前一直以为模块化开发和组件化开发是一个意思,有次看到了类似这样的题,发现自己还是太年轻,现在整理一点出来。首先,组件化和模块化的意义都在于实现了分治,目前我们开发的项目复杂度不断的上升,早已不是我们一个人能完成的工作,团队合作的话又会产生配合困难等各方面问题,组件化和模块化便应运而生,结合webpack,glup,grunt等代码混淆工具,完成代码压缩原创 2018-01-30 10:07:39 · 8345 阅读 · 4 评论 -
labrador开发问题汇总(一)
labrador开发问题汇总(一)1.component中直接写catchtap事件index.xml中<view class="tab-bar" id="tab" catchtap="tab"> tabBar</view>index.js中tab(){ console.log("tab");}开发者工具中运行报错原创 2018-02-27 11:21:58 · 255 阅读 · 0 评论 -
线程和进程
线程和进程进程:是系统进行资源分配和调度 的基本单位线程:是被系统调度和CPU调度的基本单位一个进程可以包含多个线程,一个线程只能属于一个进程死锁的产生相互等待共同的资源而产生一种僵持状态,如果没有外力干预,将一直维持这个状态打个比方,假设有P1和P2两个进程,都需要A和B两个资源,现在P1持有A等待B资源,而P2持有B等待A资源,两个都等待另一个资源而不肯...原创 2018-03-07 10:39:52 · 117 阅读 · 0 评论 -
js踩坑汇总(一).md
JS问题整理js的typeof返回的值function number undefined object boolean强制类型转换和隐式类型转换强制 parseInt parseFloat number隐式 == ===split()和join()的区别split()切割成数组的形式join()是将数组幻化成字符串的形式pop()shift(...原创 2018-03-14 18:23:38 · 753 阅读 · 0 评论 -
SheetJS---(js-xlsx)
SheetJS的使用(js-xlsx)使用纯前端的方式实现对excel表格的读取和导出功能github地址:https://github.com/SheetJS/js-xlsx学习地址:https://www.jianshu.com/p/74d4059403051.导入功能实现下载js-xlsx到dist复制出xlsx.full.min.js引入到页面中 然后通过File...原创 2018-03-06 10:28:30 · 21544 阅读 · 5 评论 -
nw.js学习日志(一)
NWjs学习日志首先nwjs能干什么通过它可以用 HTML 和 JavaScript 编写原生应用程序。它还允许您从 DOM 调用 Node.js 的模块 ,实现了一个用所有 Web 技术来写原生应用程序的新的开发模式。完全支持nodejs所有api及第三方模块可以使用DOM直接调用nodejs模块它以前被称为“node-webkit”项目,package.json必须...原创 2018-03-06 14:34:20 · 948 阅读 · 0 评论 -
CSS踩坑
CSS跳坑视差滚动网页再向下滑动的时候,控制背景的移动速度比前景的移动速度慢,造成视差CSS3方式,开发时间短,性能开发性良好,缺点是不能兼容低版本jQuery实现 ,控制不同层的滚动速度插件的方式, eg parallax-scrolling::before和:after中的双冒号和单冒号的区别单冒号 css3伪类选择器,双冒号用于伪元素选择器::befo...原创 2018-03-21 10:36:06 · 313 阅读 · 0 评论 -
JS踩坑整理(二)
js问题整理(二)IOS端滑动不流畅的问题在安卓端滑动非常流畅,但是在IOS端,滑动非常卡顿,OK,很简单,使用overflow-x:auto;谷歌模拟器一切正常,安卓正常,可是打完包在IOS上,滑动效果慢到完全跟随手指的移动而移动,这样是肯定不行的经过百度发现了解决之道;-webkit-overflow-scrolling: touch;在body标签中添加ontouch...原创 2018-04-09 16:44:54 · 633 阅读 · 0 评论