2016年全面前端面试题

   日期:2024-12-26    作者:62aq6 移动:http://mip.riyuangf.com/mobile/quote/40294.html

前几天去面试了一家公司,整下改公司的面试题。

1.新的 HTML5 文档类型和字符集是

HTML5 文档类型很简单

HTML5 使用 UTF-8 编码示例

2.HTML5 中如何嵌入音频

当前,audio 元素支持三种音频格式

3.HTML5 中如何嵌入视频

当前,video 元素支持三种视频格式

4.除了 audio 和 vidio,HTML5还有哪些媒体标签

<embed> 标签定义嵌入的内容,比如插件。

<source> 标签允许您规定可替换的视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持进行选择。

<track> 播放带有字幕的视频

5.HTML5 存储类型有什么区别

HTML5 能够本地存储数据,在之前都是使用 cookies 使用的。HTML5 提供了下面两种本地存储方案

  • localStorage - 没有时间限制的数据存储,数据永远不会过期,关闭浏览器也不会丢失
  • sessionStorage - 针对一个 session 的数据存储,同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。
6.HTML5 canvas 元素有什么作用

用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML5 上进行图形操作

效果

7.HTML5 有哪些新增的表单元素

新的input类型

新的表单元素

8.HTML5 废弃了那些 HTML4 标签
9.HTML5 标准提供了哪些新的API

1:canvas,不用多说,可以画出很多绚丽的图形,甚至可以直接做出伪3D游戏。

2:媒体控制,也很好理解(直译就是回放功能,假如只用html5.0以下的标签写,以前的音乐播放是不可能实现滚动条的。)

3:离线网页程序,可以把资源文件完全缓存在客户端,并且通过js的一些方法清空缓存

4:文档编辑,应该是更好的支持对文档的编辑。

5:拖动,可以将文件拖动到某些区域上传

6:跨文档请求,websocket,一种更加高效的通讯方式

7:历史管理,可以通过js管理和插入历史记录

8:MIME头自定义

9:客户端数据存储,localstoage sessionstoage

10:地理位置共享

11:本地数据库

12:索引数据库

10.HTML5 应用程序缓存和浏览器缓存有什么区别

HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。

应用程序缓存为应用带来三个优势

  离线浏览 - 用户可在应用离线时使用它们

  速度 - 已缓存资源加载得更快

  减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。

实现借助于 manifest 文件

11.doctype 作用?严格模式与混合模式如何区分?它们有何意义

<!DOCTYPE> 声明可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示

12.行内元素有哪些?块级元素有哪些?空(void)元素有哪些

块级元素

  address - 地址       

  blockquote - 块引用  

    center - 举中对齐块  

  dir - 目录列表  

  div - 常用块级容易,也是css layout的主要标签  

  dl - 定义列表  

  fieldset - form控制组  

  form - 交互表单  

  h1 - 大标题  

  h2 - 副标题  

  h3 - 3级标题  

  h4 - 4级标题  

  h5 - 5级标题  

  h6 - 6级标题  

  hr - 水平分隔线  

  isindex - input prompt  

  menu - 菜单列表  

  noframes - frames可选内容(对于不支持frame的浏览器显示此区块内容  

  noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)  

  ol - 排序表单  

  p - 段落  

  pre - 格式化文本  

  table - 表格  

  ul - 非排序列表

行级元素

  a - 锚点  

  abbr - 缩写  

  acronym - 首字  

  b - 粗体(不推荐)  

  bdo - bidi override  

  big - 大字体  

  br - 换行  

  cite - 引用  

  code - 计算机代码(在引用源码的时候需要)  

  dfn - 定义字段  

  em - 强调  

  font - 字体设定(不推荐)  

  i - 斜体  

  img - 图片  

  input - 输入框  

  kbd - 定义键盘文本  

  label - 表格标签  

  q - 短引用  

  s - 中划线(不推荐)  

  samp - 定义范例计算机代码  

  select - 项目选择  

  small - 小字体文本  

  span - 常用内联容器,定义文本内区块  

  strike - 中划线  

  strong - 粗体强调  

  sub - 下标  

  sup - 上标  

  textarea - 多行文本输入框  

  tt - 电传文本  

  u - 下划线 

空元素,没有内容的 HTML 元素被称为空元素

  <br> - 定义换行

  <hr> - 分割线

  <img>

  <input>

13.link 和 @import 的区别是

引用CSS的两种方式

1.link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务@import属于CSS范畴,只能加载CSS。

2.link引用CSS时,在页面载入时同时加载@import需要页面网页完全载入以后加载。

3.link是XHTML标签,无兼容问题@import是在CSS2.1提出的,低版本的浏览器不支持。

4.link支持使用Javascript控制DOM去改变样式;而@import不支持。

14.浏览器的内核分别是什么

Trident(IE内核),是微软开发的一种排版引擎。

Gecko(Firefox内核),是一套开放源代码的、以C++编写的网页排版引擎。

Presto(Opera前内核) (已废弃)。

Webkit(Safari内核,Chrome内核原型,开源)。

15.常见兼容性问题及解决方案

1.清除图片下方出现几像素的空白间隙

2.不同浏览器的标签默认的外边距和内边距不同

这个还有很多,之后再来整一篇。有些遇到了才会发现...

16.用js写个原生的ajax过程
17.请实现,鼠标点击页面中的任意标签,alert 该标签的名称(注意兼容性
18.请指出以下代码的性能问题,并进行优化。
更改后

火狐测试后,平均时间块2-3毫秒,有可以改进的还望指出...

19.请给出异步加载js方案,不少于两种。

默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。

1.defer(只支持IE

2.async规定一旦脚本可用,则会异步执行,只适用于外部脚本

3.创建script,插入到DOM中,加载完毕后callBack

20。请写出jquery绑定事件的方法,不少于两种。

.bind()是直接绑定在元素上

.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。(live由于性能原因已经被废弃)

.delegate()则是更精确的小范围使用事件代理,性能优于.live()

.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制

1.无论使用bind、on、delegate、click(function())都是重复绑定,即绑定的同类型事件被放到一个事件队列中,依次执行,后绑定的事件不会替换之前绑定的,对于on使用off,delegate用undelegate,bind及click使用unbind来解除绑定,例如unbind(type)传递为事件类型,如果不传type则解出所有事件绑定;需要注意的是元素本身自带的事件无法unbind(如button1

2.要绑定自定义事件,如'open',以上函数都可以使用,但激活需要使用trigger

3.建议使用on函数


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号