前端面试总结
1.HTML 4.01 规定了三种文档类型:Strict(严格)、Transitional(过渡) 以及 Frameset(框架)。
2.html5新增Canvas,header,nav。footer,article,section,audio,video。
3.null和undefine的区别?
undefine表示申明了一个变量,但是没有赋值。或者函数没有返回值时,默认返回undefine。
null表示空值 且 typeOf null=object。可用作释放内存
4.js延迟加载的方式有那些?
defer和async、动态创建DOM方式(创建script,插入到DOM中,加载完毕后callBack)、按需异步载入js(以前有讲过)
5.前端安全问题
1.xss :插入一些javascript,html到数据库,导致泄漏用户取出数据显示的时候,将会执行这些攻击性代码。
2.CSRF : 是跨站请求伪造,很明显根据刚刚的解释,他的核心也就是请求伪造,通过伪造身份提交POST和GET请求来进行跨域的攻击(主要利用本地cookie访问不安全网站)
6.ie各版本和chrome可以并行下载多少个资源?
ie6为2个,其余都为6个(包括ie,和chrome)
7.同源策略指的是:协议,域名,端口相同。与此相对的是跨域
8.什么是 "use strict"; ?
严格模式:use strict
设立"严格模式"的目的,主要有以下几个:
1.消除javascript语法的一些不合理之处,不严谨之处,减少一些怪异的行为,
2.消除代码运行的一些不安全之处,保证代码运行的安全
3.提供编译器的效率,增加运行速度。
9.javascript的数据类型?
object/string/null/undefine/boolean/number型六种
10.什么是cache-control
在http中,控制缓存开关的字段有两个:Pragma 和 Cache-Control。
每个资源都可以通过Cache-Control HTTP头来定义自己的缓存策略
Cache-Control指令控制谁在什么条件下可以缓存多久。
常见的为
Cache-Control:no-Cache 表示不使用缓存,要向服务器发送请求。
11.什么是
<!DOCTYPE>?
<!DOCTYPE> 声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本。
总是先给 HTML 文档添加 <!DOCTYPE> 声明,确保浏览器能够预先知道文档类型。
而文档类型上面已经介绍过了。
12.iframe的优缺点?
优点:1.解决加载缓慢的第三方内容如图标和广告等的加载问题
2.iframe可以跨域通信(可以把其他网站的页面嵌入)
3.iframe无法刷新文件上传
缺点:1.iframe会阻塞主页面的Onload事件
2.无法被一些搜索引擎找到
3.页面会增加服务器的http请求
4.会产生很多页面,不容易管理