面试题
鲸是鲸鱼的鲸
这个作者很懒,什么都没留下…
展开
-
自己总结面试题 持续更新中 const arr = ‘/foo/bar/vcx‘ const {log} = console log(arr,“arr“) 经常console小技巧
var a=2; function foo(){ var a=3; console.log(a,"函数"); } foo();//3,"函数" console.log(a);//2原创 2022-02-28 15:56:14 · 212 阅读 · 0 评论 -
对比数组中最大最小元素
apply 方法求数组中的最大最小值var a=[1,2,3,5];console.log(Math.max.apply(null, a))console.log(Math.min.apply(null, a))ES6 求数组中的最大最小值let Arrp = [1,2,3,4,5,6]let MaxArrp = Math.max(…Arrp)let MinArrp = Math.min(…Arrp)console.log(MaxArrp)console.log(MinArrp)1、命令原创 2022-02-28 15:13:18 · 239 阅读 · 0 评论 -
大厂面试中一些面试题
大厂面试中一些面试题编程题实现Promise实现xss-filter实现正则获取url params合并n个有序链表渲染一个超长的list,实现dom节点的复用random7实现random10实现正则切分千分位(10000 => 10,000)实现正则切分银行卡卡号(像实体卡一样四位一个空格)实现jsonp判断一个ipv4地址是否存在已有的1000万条ipv4地址中(bitmap)实现bind,实现new一次可以走一步或者两步,n个阶梯的楼梯有多少种走法实现扫雷(二维数组原创 2021-07-17 17:02:12 · 138 阅读 · 0 评论 -
虚拟dom
Virtual DOM 本质上就是在 JS 和 DOM 之间做了一个缓存。可以类比 CPU 和硬盘,既然硬盘这么慢,我们就在它们之间加个缓存:既然 DOM 这么慢,我们就在它们 JS 和 DOM 之间加个缓存。CPU(JS)只操作内存(Virtual DOM),最后的时候再把变更写入硬盘(DOM)。用户操作(状态改变)>js操作dom>更新页面内容mvvm框架:状态与视图绑定 视图...原创 2019-10-31 21:20:30 · 157 阅读 · 0 评论 -
vue 中 v-if 和 v-show 的区别
今天来说一下vue中 v-if 和 v-show 的区别!一、v-if 和 v-show 在页面都展示为显示隐藏,但是它两有这本质的区别。例如:不同点:1 . v-if 当值为 true时,显示div ,当值为false时,改元素消失,代码也会消失,相当于将代码删除了,当在为true时,页面会重新渲染div;而v-show 控制的隐藏出现,只是将css属性设为了display:none ...原创 2019-10-30 11:23:09 · 399 阅读 · 0 评论 -
js数组去重的10种方法
link原创 2019-10-29 22:15:08 · 116 阅读 · 0 评论 -
你知道哪些http状态码?
1xx:1开头的是信息状态码2xx:2开头的是请求成功3xx:3开头的是重定向4xx:4开头的是客户端错误5xx:5开头的是服务器错误原创 2019-10-29 22:11:41 · 304 阅读 · 0 评论 -
CSS3有哪些新增的属性?
这里可以分为边框、背景,渐变,阴影、2D转换 3D转换等之类的来说。比如:边框(border-radius、border-shadow、border-image)之类的 。原创 2019-10-29 22:11:10 · 162 阅读 · 0 评论 -
ES5的继承和ES6的继承有什么区别?
ES5的继承时通过prototype或构造函数机制来实现。ES5的继承实质上是先创建子类的实例对象,然后再将父类的方法添加到this上(Parent.apply(this))。ES6的继承机制完全不同,实质上是先创建父类的实例对象this(所以必须先调用父类的super()方法),然后再用子类的构造函数修改this。具体的:ES6通过class关键字定义类,里面有构造方法,类之间通过exten...原创 2019-10-29 22:10:34 · 930 阅读 · 0 评论 -
vue 开发过程所有涉及难点
-------------路由跳转-----------------------------------------------------------------------<router-link to="/index">index</router-link> <router-link :to="{path:'/test/1',query:{name:'chi...原创 2019-10-29 21:48:15 · 1213 阅读 · 0 评论 -
html中title属性和alt属性的区别?
<img src="#" alt="alt信息" title="title信息" />// 2.当图片不输出信息的时候,会显示alt信息 鼠标放上去会出现title信息//当图片正常输出的时候,不会出现alt信息,鼠标放上去会出现title信息...原创 2019-10-29 21:28:39 · 506 阅读 · 0 评论 -
定时器的执行顺序或机制
有一些会直接问定时器的机制,有一些是通过笔试题的方式问执行顺序然后问我为什么是这样。长话短说,我们需要记住的是:因为js是单线程的,浏览器遇到setTimeout或者setInterval会先执行完当前的代码块,在此之前会把定时器推入浏览器的待执行事件队列里面,等到浏览器执行完当前代码之后会看一下事件队列里面有没有任务,有的话才执行定时器的代码。 所以即使把定时器的时间设置为0还是会先执行当前的...原创 2019-10-29 21:17:37 · 2901 阅读 · 0 评论 -
如何判断一个变量是对象还是数组?
判断数组和对象分别都有好几种方法,其中用**prototype.toString.call()**兼容性最好。function isObjArr(variable){ if (Object.prototype.toString.call(value) === "[object Array]") { console.log('value是数组'); ...原创 2019-10-29 21:15:09 · 730 阅读 · 0 评论 -
为什么会有同源策略? 什么情况下会碰到跨域问题?有哪些解决方法?
1、同源策略是为了保护网站的安全,防止用户信息泄露,防止身份伪造等(读取Cookie)2、ajax请求不到数据的时候3、jsonp声明一个回调函数,其函数名(如fn)当做参数值,要传递给跨域请求数据的服务器,函数形参为要获取目标数据(服务器返回的data)。创建一个<script>标签,把那个跨域的API数据接口地址,赋值给script的src,还要在这个地址中向服务器传递该...原创 2019-10-29 21:11:27 · 2989 阅读 · 0 评论 -
ajax的使用及实现步骤
ajax的使用及实现步骤 (1) 创建XMLHttpRequest对象,也就是创建一个异步调用对象. (2) 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息. (3)设置响应HTTP请求状态变化的函数. (4)发送HTTP请求. (5)获取异步调用返回的数据. (6)使用JavaScript和DOM实现局部刷新....原创 2019-10-29 10:29:00 · 98 阅读 · 0 评论 -
watch如何监听对象和数组以及页面首次加载的时候做监听 当一条数据影响多条数据的时候就需要用watch 搜索数据
watch监听对象(深度监听:handler+deep)watch:{ obj:{ handler(newVal){ console.log(newVal) }, deep:true, }, }watch监听数组第一种:数据修改点击时第0项的数据发...原创 2019-10-28 22:32:41 · 1804 阅读 · 0 评论 -
Mobx和Flux
MobX简介mobx 是一个数据管理库,可以和 react 配合使用可以直接修改数据,对 UI 进行精确刷新透明的函数响应式编程,状态管理变得简单和可扩展核心要点(1)State状态集,一个可实例化的类(2)observable可观察的,对变量进行观察/监控 ,定义属性时使用(3)Computed values(计算值)创建计算值,没有任何副作用而只是返回一个值(4)...原创 2019-10-28 14:18:12 · 447 阅读 · 0 评论 -
$on $emit $off 底层封装
//eventName:[fn1,fn2,fn3] ;}const $on = (eventName, callback) => { if (!eventList[eventName]) eventList[eventName] = []; eventList[eventName].push(callback);}const $emit = (eventNam...原创 2019-10-18 19:41:29 · 91 阅读 · 0 评论 -
vue+js日常总结
1、this指向 >apply >call >bind 改变this指向2、动态组件(component is=“”)<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="w...原创 2019-10-18 15:53:04 · 126 阅读 · 0 评论 -
...展开运算符 例子
let obj1={ a1:[1,2,3], a2:4, a3:5}let obj2={...obj1}console.log('obj2: ',obj2)obj2.a2=666obj2.a1[0]=7console.log('obj1:',obj1)console.log('obj2:',obj2)输出结果原创 2019-10-12 17:10:35 · 155 阅读 · 0 评论 -
W3C标准的盒子模型就是我们常说的标准盒模型、IE标准盒模型就是怪异盒模型
正向代理和反向代理的区别:正向代理:客户端 <一> 代理 一>服务端以租房为例:原创 2019-09-27 14:44:51 · 497 阅读 · 0 评论 -
vue和react的区别
https://blog.csdn.net/qq_24147051/article/details/83056544原创 2019-09-19 22:24:47 · 61 阅读 · 0 评论 -
什么是模块化?
JS模块化一、理解1、什么是模块、模块化?将一个复杂的程序依据一定的规范封装成几个文件,并进行组合在一起2、为什么要模块化?降低复杂度,提高解耦性,部署方便3、模块化的好处避免命名冲突(减少命名空间污染)更好的分离,按需加载更高复用性高可维护性4、页面引入加载script 模块的使用 举例来说:前端框架layui 的js部分就是采用模块化(用的自己定义的模块...原创 2019-07-30 09:37:02 · 1440 阅读 · 0 评论 -
代理(proxy)及反向代理、 Nginx反向代理服务器、负载均衡
一.代理服务器代理服务器接受客户端的请求,并且转发给其它服务器。使用代理的主要目的是:缓存负载均衡网络访问控制访问日志记录代理服务器分为 正向代理(forward proxy) 和 反向代理两种(Reverse Proxy):用户察觉得到正向代理的存在。而反向代理一般位于内部网络中,用户察觉不到。正向代理和反向代理的区别位置不同正向代理,架设在客户机和目标主机之间;反向代...原创 2019-09-27 14:36:53 · 395 阅读 · 0 评论 -
HTML中href和src的区别
href 表示超文本引用(hypertext reference),在 link和a 等元素上使用。src 表示来源地址,在 img、script、iframe 等元素上。src 的内容,是页面必不可少的一部分,是引入。href 的内容,是与该页面有关联,是引用。区别就是,引入和引用。...原创 2019-09-26 15:12:22 · 112 阅读 · 0 评论 -
Vuex的数据传递流程
当组件修改数据的时候必须通过store.dispatch来调用actions中的方法。当actions中的方法被触发的时候通过调用commit的方法来触发mutations里面的方法。muations中的方法用来修改数据,因为数据是响应式的。因此视图的数据也会发生改变...原创 2019-09-08 16:27:44 · 377 阅读 · 0 评论 -
浅谈对Vuex的理解
就是一个公共管理的一个容器原创 2019-09-08 16:23:40 · 94 阅读 · 0 评论 -
就针对回流与重绘的理解
当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候。在回流的时候,浏览器会使渲染树中受到影响的部分失效,并重新构造这部分渲染树,完成回流后,浏览器会重新绘制受影响的部分到屏幕中,该过程就是重绘。当render tree中的一些元素需要更新属性,而这些属...原创 2019-09-06 21:24:06 · 126 阅读 · 0 评论 -
针对axios如何请求数据 及响应体拦截器 及数据序列化与反序列化
在App.js中做引入console.log输出data红框的都是request的响应体把这些响应体都过滤掉只要data就用到了拦截器原创 2019-09-06 17:44:03 · 1293 阅读 · 1 评论 -
var let const区别
var存在的两个bugJS没有块级作用域通过var声明的变量,其作用域是函数的全部循环内变量会过度共享意思就是说在循环内部定义的变量,在循环外部依旧可以访问let存在的意义let声明的变量拥有块级作用域let声明的变量其作用域只是外层块,而不是外层函数let声明的全局变量不是全局对象的属性通过let声明的全局变量无法通过window.变量名进行访问,其只存在于一个相对的作用域中...原创 2019-07-19 21:07:11 · 103 阅读 · 0 评论 -
针对scoped的理解
虽然样式写的是蓝绿黄红,但是因为对page没有进行有区分的命名,这时候就用到了scopedscoped作用:scoped用法原创 2019-09-06 12:13:04 · 160 阅读 · 0 评论 -
就针对动态组件及keep-alive的自我理解
动态组件类似于选项卡点击tabbar的时候 路径不会发生改变而且在点击tabbar的时候每点击一次都会经历一次创建 挂载 销毁上一次的 挂载这一次的因为动态组件中每一次点击或者切换组件的时候都会经历创建 挂载前 销毁 挂载后详细见图上 所以才有了keep-alive → vue内置组件keep-alive是vue的一个内置组件 作用是被keep-alive包裹的组件,第一次...原创 2019-09-05 23:18:48 · 179 阅读 · 0 评论 -
就针对watch和computed的区别
首先说下watch与computed的共同点:他们都以vue的依赖作为基础 当所依赖的数据发生改变的时候 会触发相关的函数去实现数据的变动computed:计算属性(通过属性计算而得来的属性)computed是一个计算属性,computed是依赖vm中data的属性变化而变化的,就是当data中的属性发生改变的时候计算属性会重新计算,当前函数才会执行并进行缓存,如果没有发生改变,则当前函...原创 2019-09-05 16:04:17 · 138 阅读 · 0 评论 -
前端面试题整理
请你谈谈 Cookie 的弊端?缺点: 1.Cookie数量和长度的限制。每个 domain 最多只能有 20 条 cookie,每个 cookie 长度不 能超过 4KB,否则会被截掉。2.安全性问题。如果 cookie 被人拦截了,那人就可以取得所有的 session 信息。即使加密 也于事无补,因为拦截者并不需要知道 cookie 的意义,他只要原样转发 cookie 就可...原创 2019-08-02 17:55:44 · 299 阅读 · 0 评论 -
初级前端面试题HTML5 CSS3 JS VUE
整理的不全还有一些在https://blog.csdn.net/weixin_44195250/article/details/96841612HTML5 CSS31、元素水平垂直居中1.css3的transform:.ele { position: absolute; top: 50%; left: 50%; transform: transla...原创 2019-08-02 17:03:01 · 578 阅读 · 0 评论 -
【Vue】Vue/MVVM整体实现流程
https://blog.csdn.net/qq_42872073/article/details/90345490转载 2019-09-09 11:31:14 · 110 阅读 · 0 评论 -
对promise的理解,及面试题
常见的异步操作为什么要执行异步操作?因为JS是单线程的操作,但是有时候例如ajax请求,需要请求数据,这个请求需要耗费很多时间,这个时候我们就需要异步操作,如果不使用异步操作,等待请求会造成线程阻塞。1.回调函数(callback)回调是一个B函数被作为一个参数传递到A函数里,在B函数执行完毕后执行A函数例子:function A(callback){var m = 1;v...原创 2019-09-09 12:13:41 · 760 阅读 · 0 评论 -
面试题924
1、css js放置位置和原因js是阻塞加载,会影响页面加载的速度,如果js文件比较大,算法也比较复杂的话,影响更大。CSS放在前端是页面渲染时首先是根据DOM结构生成一个DOM树然后加上CSS样式生成一个渲染树,如果CSS放在后面可能页面会出现闪跳的感觉,或者是白屏或者布局混乱样式很丑直到CSS加载完成。说到这那我们就有必要先了解一下网站加载的整个完整过程了。1.首先浏览器从服务器接收到...原创 2019-09-26 09:53:55 · 190 阅读 · 0 评论 -
前端面试50道不带答案
1、prototype和__proto__的关系是什么?2、meta viewport原理是什么?3、域名收敛是什么?4、float和display:inline-block的区别是什么?5、前端优化策略列举6、首屏、白屏时间如何计算?7、解释一下闭包8、解释一下作用域链9、ajax如何实现,readyState的五种状态的含义?10、jsonp如何实现?11、怎么处理跨域?...原创 2019-09-25 21:39:00 · 138 阅读 · 0 评论 -
各大浏览器内核Blink chromium
Blink这是由Google和Opera Software开发的浏览器排版引擎,Google计算将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月公布了这一消息。这一渲染引擎是开源引擎Webkit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。Chromium是由Google主导开发的网页浏览器。...原创 2019-07-23 09:41:36 · 5873 阅读 · 0 评论