
前面面试题
only家的博客
这个作者很懒,什么都没留下…
展开
-
javascript常见数据类型判断
1、typeof类型判断在web开发中有非常广泛的应用。说到类型判断,首先会想到的是typeof,引用《JavaScript权威指南》中对typeof的介绍:typeof是一元操作符,放在其单个操作数的前面,操作数可以是任意类型。返回值为表示操作数类型的一个字符串。在ES6前,JavaScript共有六种数据类型:Boolean、Number、String、Undefined、Null...原创 2019-11-26 11:16:44 · 305 阅读 · 0 评论 -
new 的模拟实现
1、MDN 对 new 运算符的描述:new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。new 关键字会进行如下操作:创建一个空的简单的 JavaScript 对象(即 {});链接该对象(即设置对象构造函数)到另一个对象;将步骤1新创建的对象作为 this 的上下文;如果该函数没有返回对象,则返回 this ;看个例子:function Person...原创 2019-11-25 15:18:16 · 362 阅读 · 1 评论 -
前端面试关于cookie、session、HTTP
1、cookie和session的区别session是基于cookie实现的,cookie保存在客户端浏览器中,而session保存在服务器上。如果说cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么session机制就是通过检查服务器上的“客户明细表”来确认客户身份。session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。区别:...原创 2019-11-06 16:01:13 · 613 阅读 · 0 评论 -
跨域
1、什么是同源策略?同源策略是浏览器中一项基本的安全策略,是指从一个源中加载的文档或脚本与来自不同源的资源之间的交互会被浏览器所限制。同源策略中的同源指的是,协议、域名、端口均相同。比如:https://www.youkuaiyun.com/index.html 这个网站,协议是https,域名是www.youkuaiyun.com,端口是80(默认端口)。它的同源情况如下:https://www.youkuaiyun.com...原创 2019-11-05 11:16:22 · 142 阅读 · 0 评论 -
Vue响应式原理
Vue最独特的特性之一,是其非侵入性的响应式系统,数据模型仅仅是普通的JavaScript对象,而当你修改它们时,视图会进行更新,这使得状态管理非常简单。接下来就讲讲Vue响应式系统的原理。1、如何追踪变化当一个Vue实例创建时,Vue会遍历data选项(你传入的普通JavaScript对象)中的所有属性,并使用Object.defineProperty把它们转化为getter/setter,...原创 2019-10-30 11:31:52 · 203 阅读 · 0 评论 -
Vue生命周期
1、什么是Vue生命周期?Vue实例从开始创建到销毁的过程就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载DOM——>渲染、更新——>渲染、销毁等一系列过程,我们称之为Vue生命周期。2、Vue生命周期的作用是什么?在生命周期的过程中会运行一些叫做生命周期钩子的函数,这给了我们在不同阶段添加自己代码的机会,使得我们可以更好地控制Vue实例。3、生命周期总共有几个阶段?...原创 2019-10-29 18:06:04 · 167 阅读 · 0 评论 -
javascript事件循环Event Loop
js Event Loop学习笔记。1、线程和进程的区别一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高了程序的运行效率。线程在执行过程中与进程还是有区别的,每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,...原创 2019-10-23 18:21:10 · 249 阅读 · 2 评论 -
JavaScript事件
博客总结笔记,关于JavaScript事件。1、js事件流上图为js事件流的全过程,从图中可以得知:一个完整的事件流是从window开始,最后回到window的一个过程。事件流分为三个阶段,1-5是捕获阶段,5-6是目标阶段,6-10是冒泡阶段。默认情况下,js事件是在冒泡阶段执行的。...原创 2019-10-23 11:29:59 · 681 阅读 · 0 评论 -
原生JS实现bind
在JavaScript中有很多改变this指向的方法,如call、apply,本文说的bind也是方法之一,与前两者不同的是,前两者改变this指向的时候会立即执行,而bind不会。bind是函数原型Function.prototype上的一个方法,作用是改变this的指向并返回一个函数等待执行。bind可以传入多个参数,第一个参数作为this的一个对象,后面的参数作为返回函数的形参。第一个参...原创 2019-10-12 15:40:19 · 372 阅读 · 0 评论 -
CSS预处理器
1、CSS预处理器定义CSS预处理器是基于CSS的一种语言,通过工具编译成CSS,添加了很多CSS不具备的特性,能提升CSS文件的组织方式。2、常见的CSS预处理器有1、less:基于node.js2、sass:基于ruby,也有node版本3、CSS预处理器的作用1、能够更好的组织CSS代码2、提高代码复用性3、提高代码可维护性4、CSS预处理器的优缺点1、优点:提高代码复用...原创 2019-10-10 18:02:04 · 962 阅读 · 0 评论 -
BFC(块格式化上下文)
1、概念BFC(block formatting context)块格式化上下文是web页面的可视化css渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素交互限定的区域。2、创建BFC1、根元素或包含根元素的元素2、浮动元素(元素float不为none)3、绝对定位元素(元素position为absolute或fixed)4、行内块元素(元素display为inli...原创 2019-10-10 16:05:00 · 130 阅读 · 0 评论 -
CSS盒模型
1、概念盒模型组成由里到外:content、padding、border、margin盒模型有两种标准:标准盒模型、IE盒模型从上面两图可以看出,标准盒模型的宽高是content的宽高。IE盒模型的宽高包括:content宽高+padding+border2、CSS如何设置两种模型使用css3的box-sizing属性:/*设置为标准盒模型*/box-sizing:conten...原创 2019-10-10 12:49:04 · 136 阅读 · 0 评论 -
JavaScript经典题目之作用域、闭包
1、数组newArray中有哪些元素? var array = []; for (var i = 0; i < 3;i++) { array.push(() => i); } var newArray = array.map(el => el()); console.log(newArray);答案是:3,3,3如果要记...原创 2019-08-15 17:16:17 · 350 阅读 · 0 评论 -
JavaScript经典题目之变量声明提升、全局作用域、函数作用域
作为一名前端开发,JavaScript简直重要的不行,保持学习的状态。记录一些我觉得需要被记录的东西。1、下面的代码在控制台会输出什么?var a = 10;function test() { console.log(a);//??? var a = 20; } test();答案是会打印出:undefined解析:使用var声明的变量在JavaScript中...原创 2019-08-14 12:21:32 · 222 阅读 · 0 评论