1. 前端的性能优化
本地缓存,资源位置顺序加载,减少页面请求,请求的优先级排序,减低图片质量,列表分页,插件按需引入。
2. computed和watch的区别和运用场景?
computed:是计算属性,值有缓存,需要进行数值计算使用。
watch:更多的是监听数据变化。在数据变化时执行异步或开销较大的操作时使用。
3. 在哪个生命周期中调用异步请求?
在钩子函数created,beforeMount,mounted中调用,因为在这三个钩子函数中data已经创建,可以将服务端返回的数据进行赋值。
created:能更快的获取服务端的数据,减少加载时间。
4. 行内元素的 padding 和 margin 可设置吗?
行内元素设置水平方向的padding和margin是可以生效,但是设置垂
直方向的padding和margin虽然看起来对标签起作用,但实际并没有 对周围元素产生任何影响, 所以行内元素设置垂直方向的
padding 和 margin 是无效的.
5.谈 css 选择器优先级顺序以及判定标准?
优先级从低到高: 通配符选择器<标签选择器<类选择器(属性选择器)<ID 选择器; 行内样式<使用!important
修饰的属性优先级最高;
6.js 中函数有哪些调用形式?
普通函数,对象的方法,事件处理函数,构造函数,回调函数
7.说说你对 this 关键字的理解
普通函数中指向全局 window;
对象的成员方法中指向该方法的宿主对象;
构造函数中指向 new 出来的实例对象;
事件处理函数中指向事件源;
回调函数中指向全局 window
var length=10;
function fn(){
console.log(this.length);
}
var obj={
length:5,
method:function(fn){
fn();
arguments[0]();
}
}
obj.method(fn,1);
//在控制台输出 10,2 分析过程:
//fn(); 此时 this 指向 window, 所以 this.length=10; arguments[0]()中的 this 永远指向 arguments, 而 arguments 本身有一 个 length 属性, 就是参数的个数.