9 5知识总结

17、$route和$router的区别
$route是一个跳转的路由对象,每一个路由都会有一个$route对象,是一个局部的对象,可以获取对应的name,path,params,query等
$router是VueRouter的一个对象,通过Vue.use(VueRouter)和Vue构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由,包含了许多关键的对象和属性

18、params和query传参的区别
params传值的参数是路由的一部分,所以调转必须加参数值才能调转 query传参和路由配置没有关系
获取方式是不一样的 query this.$route.query.参数名  params是 this.$route.params.参数名

19、mpa和spa的区别
mpa 多页面应用
一套系统有多个页面组成,页面之间的切换是由a标签的herf属性和script的location.href来实现的
spa是单页面应用
一套系统就由一个页面来承载,数据的切换是由路由来实现
mpa与spa的优缺点
对于切换来说,路由的切换肯定比页面的切换更顺畅 所以spa的切换会好
spa的首屏加载慢,mpa的首屏加载快
SPA⾸屏加载速度慢的怎么解决?
- 解决方案
  - 减⼩⼊⼝⽂件积(路由懒加载)
  - 静态资源本地缓存
  - UI框架按需加载
  - 图⽚资源的压缩
  - 组件重复打包
  - 开启GZip压缩
  - 使⽤SSR(服务端渲染)

20、Git的核心概念
Git是一个分布式版本控制系统,保存的是文件的完整快照而不是差异变化或者文件补丁。Git每一次提交都是对项目文件的一个完整拷贝,因此可以完全恢复到以前的任一个提交而不会发生任何区别
如果文件没有变化,它只会保存一个指向上一个版本的文件的指针,即对于一个特定版本的文件,Git只会保存一个副本,但可以有多个指向该文件的指针

21、如何改变this指向
call,apply 会自动执行函数,bind不会自动执行需要手动执行 
call 方法 传递的参数是以参数列表的形式传递
apply 传递参数是以数组的形式传递

22、this指向
普通函数指向window
匿名函数指向window
立即执行函数window
回调函数window
箭头函数,函数定义位置的上下文this
对象下的函数谁调用,指向谁
dom回调绑定事件的对象
构造函数中的this指向创建出的对象

23、null 和 undefined 的区别?
相同:
在 if 语句中 null 和 undefined 都会转为false两者用相等运算符比较也是相等
首先 Undefined 和 Null 都是基本数据类型,这两个基本数据类型分别都只有一个值,就是 undefined 和 null。
不同:
undefined 代表的含义是未定义,
定义了形参,没有传实参,显示undefined
一般变量声明了但还没有定义的时候会返回 undefined
对象属性名不存在时,显示undefined
函数没有写返回值,即没有写return,拿到的是undefined
null 代表的含义是空对象。也作为对象原型链的终点
null 主要用于赋值给一些可能会返回对象的变量,作为初始化

24、什么是变量提升?
变量提升是当栈内存作用域形成时,JS代码执行前,浏览器会将带有var, function关键字的变量提前进行声明(值默认就是 undefined),定义 (就是赋值操作),这种预先处理的机制就叫做变量提升机制也叫预定义

25、js 中的 堆栈
堆和栈都是运行时内存中分配的一个数据区,因此也被称为堆区和栈区
(1)堆(heap)用于复杂数据类型(引用类型)分配空间,它是运行时动态分配内存的,因此存取速度较慢
(2)栈(stack)中主要存放一些基本类型的变量和对象的引用,(包含池,池存放常量),其优势是存取速度比堆要快,并且栈内的数据可以共享,但缺点是存在栈中的数据大小与生存期必须是确定的,缺乏灵活性

26、JavaScript工厂函数是什么?
(1)工厂函数是用于创建对象的一个函数。这些内建函数都是类对象,调用时实际上是创建了一个类实例,然后返回这个对象,创建的函数都拥有相同的属性
(2)它是一个函数
(3)它用来创建对象
(4)它像工厂一样,“生产”出来的函数都是“标准件”(拥有同样的属性)

27、节流与防抖
(1)防抖:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。
(2)节流:规定在一个单位时间内,只能触发一次函数。如果这个函数单位时间内触发多次函数,只有一次生效。
(3)它们都是用来节省性能开销的手段,都是基于闭包实现的
函数防抖:
搜索框搜索输⼊(如百度搜索)、⼿机号、邮箱验证输⼊检测、浏览器窗口大小调整触发的事件
函数节流:
滚动加载,加载更多或滚到底部监听,搜索框,搜索联想功能

28、get 和 post 方式的区别 
get 一般用来进行查询操作,url 地址有长度限制,请求的参数都暴露在 url 地址当中, 如果传递中文参数,需要自己进行编码操作,安全性较低
post 请求方式主要用来提交数据,没有数据长度的限制,提交的数据内容存在于 http请求体中,数据不会暴漏在 url 地址中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值