1、axios和ajax有啥区别?
axios是封装后的ajax,ajax不符合现在mvvm的架构,以是对其举行了封装。ajax的缺点:(1)基于原生的XHR开发,XHR本身的架构不清晰;
(2)JQuery整个项目太大,单纯利用ajax却要引入整个JQuery非常的不公道;
(3)不符合关注分离(Separation of Concerns)的原则;
(4)设置和调用方式非常杂乱,而且基于变乱的异步模子不友好。
axios的长处:
(1)从欣赏器中创建 XMLHttpRequest;
(2)支持 Promise API;
(3)从 node.js 创建 http 哀求;
(4)转换哀求和相应数据;
(5)主动转换JSON数据。
2、axios怎么实现并发哀求?
axios.all 在all内里传入数组,在数组里写上想要发送的哀求 然后.then拿到终极的哀求效果
3、typeof 和 instanceof区别
typeof和instanceof的区别是:typeof的返回值是一个字符串,用来阐明变量的数据范例;instanceof的返回值是布尔值,用于判定一个变量是否属于某个对象的实例。
typeof 一样寻常只能返回如下几个效果: number, boolean, string, function, object, undefined,symbol
对于Array,Null等特别对象利用typeof一律返回object,这是typeof的局限性。
4、symbol是什么?
symbol 是ES6 引入了一种新的根本数据范例,表现独一无二的值,是 JavaScript 语言的第七种数据范例
Symbol数据范例的特点
1、Symbol的值是唯一的,用来办理定名辩论的问题
2、Symbol值不能与其他数据范例举行运算
3、Symbol定义得的对象的属性不能利用for…in 循环遍历,但是可以利用Reflect.ownKeys来获取对象 的全部键名
5、怎么镌汰项目打包后的体积
1.压缩图片
2.路由懒加载
3.移除源代码,更换压缩后的源码
4.修改babel.config.js设置文件
5.组件、api按需引入
6.静态资源文件的托管(CDN)
6、webpack打包原理?
webpack打包原理是将根据文件间的依赖关系对其举行静态分析,然后将这些模块按指定规则生成静态资源,当 webpack处置惩罚步伐时,会递归地构建一个依赖关系图,此中包罗应用步伐须要的每个模块,然后将所全部这些模块打包成bundle。
webpack只是一个打包模块的机制,只是把依赖的模块转化成可以代表这些包的静态文件。并不是什么commonjs大概amd之类的模块化规范。webpack就是辨认你的入口文件。辨认你的模块依赖,来打包你的代码。
至于你的代码利用的是commonjs照旧amd大概es6的import。webpack都会对其举行分析。来获代替码的依赖。
webpack做的就是分析代码。转换代码,编译代码,输出代码。webpack本身是一个node的模块,以是webpack.config.js是以commonjs情势誊写的(node中的模块化是commonjs规范的)
webpack中每个模块有一个唯一的id,是从0开始递增的。整个打包后的bundle.js是一个匿名函数自执行。参数则为一个数组。数组的每一项都为个function。function的内容则为每个模块的内容,并按照require的次序分列。
7、如果项目打包后html文件打开是空缺页面,一样寻常是啥问题,咋办理?
1、关掉router.js中的哈希模式 mode:hash
2、vue.config.js里的publicPatrh的/改成./
8、用css实现一个三角形?
div{ width:0; height:0; border:10px solid transparent; border-top:10px solid pink;}9、js获取原型的四种方法
底子代码:
function R(){}let obj=new R();//第一种:obj.__proto__//第二种:R.prototype//第三种:obj.constuctor.prototype//第四种:Object.getPrototypeOf(obj)10、怎样将字符串转化为数字?
1、利用 Number() 方法,条件是所包罗的字符串不包罗不合法字符。2、用 parseInt() 方法,parseInt() 函数可解析一个字符串,并返回一个整数。还可以设置要解析的数字的基数。当基数的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判定数字的基数。3、利用 parseFloat() 方法,该函数解析一个字符串参数并返回一个浮点数。4、利用 + 利用符的隐式转换。 // if(+"123"<100)5、利用 - * /等隐式转换。 // '123'-0; |