前端面试题

一、

less和sass的区别

Less环境和使用较Sass简单

从功能看,Sass较Less略强大一些 sass有变量和作用域 有函数的概念

Less与Sass处理机制不一样 Less通过客户端处理的,Sass是通过服务端处理

 

 二、

js作用域,js预解析

全局作用域: 最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的;

局部作用域: 局部作用域一般只在固定的代码片段内可访问到,而对于函数外部是无法访问的,最常见的例如函数内部。在 ES6 之前,只有函数可以划分变量的作用域,所以在函数的外面无法访问函数内的变量

三、

ES6新特性,let,const,var关键字区别

var声明的变量,具有函数级作用域,在所在函数内有效,值可更改,可以变量提升

let声明的变量,具有块级作用域,作用域为该语句所在的代码块,不存在变量提生,值可更改

const声明的常量不能修改

四、

Ajax的实现步骤

1.创建xhr对象

2.调用open函数指定请求方式与url地址

3.调用send函数发起Ajax请求

4.监听onreadystatechange事件 监听xhr对象的请求状态和服务器的响应状态

通过xhr的responseText获取响应的数据

五、

base64图片格式

优点:

base64图片格式 占用内存小 降低了资源服务器的消耗;

网页中使用base64格式的图片时,不用再请求服务器调用图片资源,减少了服务器访问次数。

缺点:base64格式的文本内容较多,存储在数据库中增大了数据库服务器的压力

base64无法缓存

六、

路由,路由守卫

三个参数(to from next)

to是要跳转到的路由的信息

from从哪里跳转的路由

next()会让路由正常跳转 next(false)会阻止跳转 不调用next页面会留在原地

next(地址)跳转到对应的路由

七、

http和https区别

1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前网易官网是 HTTP,而网易邮箱是 HTTPS 。)

2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议

3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443

4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。

八、

介绍下原型链(解决的是继承问题吗)

JavaScript 原型: 每个对象都会在其内部初始化一个属性,就是 prototype(原型)原型链:当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype 里找这个属性,这个 prototype 又会有自己的 prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念特点:JavaScript 对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本。当我们修改原型时,与之相关的对象也会继承这一改变

九、

节流防抖

节流就是在一个触发发起请求的事件时不会立刻发起请求,会设置一个定时器等到,定时器时间到后再发起请求,如果在这期间又发起一次请求则会把前一次的请求事件销毁,去发起新的请求

防抖就是在一个事件结束前又发起了新的请求,则请求不会发出,会等到上一个事件执行完毕后再去发起请求

十、

什么是事件冒泡,怎样阻止冒泡

发生点击事件时,事件会从目标元素上开始触发,向外传播,一直到根元素停止。

事件冒泡就是父元素上面绑定事件,当点击子元素时会触发父元素的事件,

event.stopPropagation();

.return false;

event.preventDefault();

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>