web前端题目(持续更新)

1.What's a doctype do?

一个DOCTYPE是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。

2.What's the difference between standards mode and quirks mode?

当没有使用DTD声明或者使用HTML4以下(不包括HTML4)的DTD声明时,基本所有的浏览器都是使用Quirks Mode呈现。

3.What are data- attributes good for?

更加符合标准,不会显示在页面上,但是可读取,不会打乱页面布局。

4.Describe the difference between cookies, sessionStorage and localStorage.

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生

5.javascript event delegation

事件委托对于web应用程序的性能有如下几个优点:
  1.需要管理的函数变少了
  2.占用的内存少了
  3.javascript代码和Dom结构之间的关联更少了
  4.在改变DOM结构中的innerHTML时,不需要改动事件处理函数
6.Explain how this works in Javascript?
this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。匿名函数中执行环境具有全局性,因此其中this指向Window.
7.What's a typical use case for anonymous functions?

 当循环内有异步操作时,这时候如果对异步完成结果需要调用起初的资源,如果不使用闭包,会总是调用最后一个。

8.What's the diffrence between .call and .apply ?

对于apply和call两者在作用上是相同的,但两者在参数上有区别的。
对于第一个参数意义都一样,但对第二个参数:
apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。
如 func.call(func1,var1,var2,var3)对应的apply写法为:func.apply(func1,[var1,var2,var3])

原文地址:https://www.cnblogs.com/barryli/p/3158806.html