前端笔试知识点总结(4)

去参加了某软的前端面试,到公司的时候二话没说,要求先写了一份性格测试题,因为面的是前端,完事之后又来了一份前端笔试题,选择、填空、简答,选择题没记,主要记了填空题和简答题。

下面是填空题:

  • CSS单位中,设定元素的长度或宽度与父元素字体大小相关的单位是?与html文档元素大小相关的单位是?

    1. px,像素,设置固定元素;
    2. em,设置相对于父元素大小的百分比,如父元素是10px,子元素是2em,则子元素的大小就是20px;
    3. rem,设置相对于html文档元素大小;
  • Js中原型链最上层的对象是()的原形对象?该对象的__proto__指针指向()的原型对象?

      因为自己自学还没有学带这块,所以笔试的时候直接跳过了,回来查红宝书学习一下。

  • Js中使用()对象的()函数定义对象属性的访问器?

    1. 因为上面面试被问到了关于面向对象方面的问题,然而那会并不会,所以这几天在看面向对象方面的内容,正好用上了,这个问题的答案是利用了Object对象中的defineProperty方法来创建一个新的属性。
  • 一个简单的变量提升问题

       函数主要是这样的:

var a = 10;
var b = 10;
function x(){
    console.log(a);
    console.log(b);
    var a = 5;
}

  然后问输出的结果是什么,答案肯定是5和10,变量提升的问题,之前也正好写过一篇随笔说这个,正好用上了。

 

下面是简答题:

 

  • 简述下为何通过ajax发送请求会出现乱码问题,如何解决?

    • 发送get请求的时候:
      • IE浏览器对应的ajax对象对中文参数会使用GBK的编码方式,其他浏览器则使用UTF-8编码方式,web服务器默认情况使用iso-8859-1的编码方式;
      • 解决办法:使用encodeURL<>函数对请求的地址进行编码,函数会对中文参数值按照UTF-8进行编码;修改服务器端的编码方式为UTF-8;
    • 发送post请求的时候:
      • 所有浏览器中对应的ajax对象对中文参数都使用UTF-8的编码方式,服务器使用iso-8859-1进行编码;
      • 解决办法:使用request.setCharsetEncoding(“UTF-8”);
  • 简述DOM、HTMLDOM的区别和联系?

    •   DOM,文档对象模型。
    • 其实没太明白这个,前者指的是什么?核心DOM么?还是总的DOM?
  • 简述HTML5新增的canvas、audio、svg标签的作用?

    • canvas标签,定义图形,只是一个图形容器,必须使用脚本来绘制图形;更多内容还是要参考W3C官方文档。
    • audio标签,在网页中引入音频流,支持mp3、wav、ogg三种格式的音频文件;不同浏览器存在兼容性问题
    • svg标签,定义用于网络的基于矢量的图形,使用XML格式定义图形,改变大小不会失帧;
    • svg的优势:
      • 可通过文本编辑器来创建和修改;
      • svg图像可被搜索、索引、脚本化或压缩;
      • 任意伸缩画质不会改变;
  • 简述如何通过CSS进行响应式布局的方式?

    • 纯CSS的话必然是利用媒体查询方式,根据设备的不同屏幕分辨率大小进行设置;
    • 利用框架的话可以使用Bootstrap、Amaze UI等;
  • 什么是事件流?

    • 事件流描述的是从页面中接收事件的顺序;红宝书中第13章专门讲事件,需要进行学习。
posted @ 2017-07-26 17:00  恪晨博客  阅读(623)  评论(0编辑  收藏  举报