前端面试题及答案

https协议的主要作用可以分为两种:一种是建立一个安全的信息通道,来保证数据的安全,另一种就是确认网站的真实性。

5、http和https的区别?

Http 协议都是未加密的,http传输隐私消息非常的不安全

https就是由ssl+http协议构建进行加密传送的要比http协议安全

https需要申请证书,会需要一定的费用

http未加密,https 是加密的

http端口是80,https 是443

查看更多面试题

在这里插入图片描述

7、Flex 布局

Js

8、Es6 let、const、class、箭头函数、 promise、ansync await、module模块化

Var 命令和function命令声明的全局变量是顶层对象的属性

Let 、const、class、声明的全局变量,不属于顶层对象的属性,也就是说,从es6开始,全局变量将逐步与顶层对象的属性脱离

var a = 1;

// 如果在Node的REPL环境,可以写成global.a

// 或者采用通用方法,写成this.a

window.a // 1

let b = 1;

window.b // undefined

//const 生命的变量是不可变得变量

const c = 1;

c=2 //会报错

Es6对象和数组的复制

数组:

let arrA = [1,2,3];

let arrB = […arrA];

对象

let objA = {a:1,b:2,c:3}

let objB = {…objA};

//有了 async await 之后; 当执行到await的时候就会等待timeOut(1);返回值之后再往下执行;

function timeOut(num) {

return new Promise((resolve, reject) => {

setTimeout(() => {

resolve(2 * num)

}, 2000);

} )

}

async function name() {

let a = await timeOut(1);

let b = await timeOut(2);

console.log(a + b);

}

name();

Let 和 var的区别

相同点:都是定义变量关键字。

区别:

作用域只限制与当前代码模块—var的作用域则是函数体function(){}

使用let声明变量的作用域不会提示-------var 会自动提升

在相同的作用域下不能有相同的变量,否则会报错 -------var 中则可以出现相同变量名,不会报错

Let和const 区别

相同:都是es6新特性

定义变量关键字

作用域一样

都是不能重复声明相同的变量

区别点:

Let是声明普通变量的,const是声明常量的

Let初始化可以不用赋值,const初始化必须赋值

Let声明的变量值是可以被修改的 const声明的变量不能修改值,否则报错

Se6 中的class 其实就是构造函数的另一种写法

2.什么是闭包?

闭包就是定义就是:定义在一个函数内部的函数。

function fn1 () {

var a = 2 var

b = ‘abc’

function fn2 () {

console.log(a)

}

}

fn1()

闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。 2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。

闭包的用途:

读取函数内部的变量和就是让这些变量的值始终保存在内存中,不会再fn1调用后被自动清除。

闭包缺点:

内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在ie中可能导致内存泄漏,解决办法是,在退出函数之前,将不使用的局部变量全部删除。

mvc与mvvm的区别

Mvvm(angular)真正的意义是将页面和数据逻辑分离的模式,把数据绑定工作放到一个js里面去实现,而这个js的主要目的就是完成数据的绑定。更重要的是双向绑定,更方便的维护页面,而不用手动更新他们。

在mvc中model不依赖view,但是view依赖model,因为业务逻辑代码在view里面实现,导致view更改也是比较困难的,最后业务逻辑是无法重用的。

Mvvm的优点:

低耦合

可重用性

独立开发

可测试性

Js 数组有哪些方法?

Join()

Push() pop()

Shift()unshit()

Splice()slice()

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

在mvc中model不依赖view,但是view依赖model,因为业务逻辑代码在view里面实现,导致view更改也是比较困难的,最后业务逻辑是无法重用的。

Mvvm的优点:

低耦合

可重用性

独立开发

可测试性

Js 数组有哪些方法?

Join()

Push() pop()

Shift()unshit()

Splice()slice()

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值