【面试】2020年最新web前端经典面试题试题及答案,希望能帮助到大家!(八)

【面试】2020年最新web前端经典面试题试题及答案,希望能帮助到大家!(九)

【面试】2020年最新web前端经典面试题试题及答案,希望能帮助到大家!(总目录)


很多时候直直跟着书和不系统的视频学习,会发现没有方向,学了很多却不知道自己能够做出什么成绩。
学习要有一个清晰的职业学习规划,学习过程中会遇到很多问题,你可以到我们的web学习交流群点击此处,
同时准备了基础,进阶学习资料。学友都会在里面交流,分享一些学习的方法和需要注意的小细节,每天也会准时讲一些项目实战案例
————————————————
1.什么是mvvm mvc是什么区别 原理

一、MVC(Model-View-Controller)

MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。

MVC使用非常广泛,比如JavaEE中的SSH框架
二、MVVM(Model-View-ViewModel)

如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应view。

2.px和em的区别

px表示像素 (计算机屏幕上的一个点:1px = 1/96in),是绝对单位,不会因为其他元素的尺寸变化而变化;

em表示相对于父元素的字体大小。em是相对单位 ,没有一个固定的度量值,而是由其他元素尺寸来决定的相对值。

3.优雅降级和渐进增强

渐进增强(Progressive Enhancement):一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。

优雅降级(Graceful Degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览。

其实渐进增强和优雅降级并非什么新概念,只是旧的概念换了一个新的说法。在传统软件开发中,经常会提到向上兼容和向下兼容的概念。渐进增强相当于向上兼容,而优雅降级相当于向下兼容

4.eval()的作用
把字符串参数解析成JS代码并运行,并返回执行的结果;

eval("2+3");//执行加运算,并返回运算值。  

eval("varage=10");//声明一个age变量  

eval的作用域

functiona(){  

1.  eval("var x=1"); //等效于 var x=1;  

2.  console.log(x); //输出1  

3. }  

4. a();  

5. console.log(x);//错误 x没有定

5. JS哪些操作会造成内存泄露

1)意外的全局变量引起的内存泄露

function leak(){  

  leak="xxx";//leak成为一个全局变量,不会被回收  

}

2)闭包引起的内存泄露

3)3)没有清理的DOM元素引用

4)被遗忘的定时器或者回调 5)子元素存在引起的内存泄露

6. 浏览器缓存有哪些,通常缓存有哪几种
 

一、http缓存

二、websql

cookie

localstorage

sessionstorage

flash缓存


————————————————
 

你可能感兴趣的:(web前端,js,html+css)