关于前端面试的一点思考

作者: ManShow先生 | 来源:发表于2018-11-12 11:21 被阅读27次
    一、cookie、sessionStorage 和 localStorage 的区别
    • cookie:一般有服务端生成,可设置失效时间,存放数据大小一般为4k左右,用于标识用户身份
    • sessionStorage:客户端生成,仅在当前会话中有效,关闭页面或浏览器后会清除,存放数据大小在5M左右
    • localStorage:客户端生成,除非被清除,否则永久保存,存放数据大小在5M左右
    二、html 和 html5 怎么区分?
    1. 在文档类型声明上
      • html:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      • html5:<!DOCTYPE html>
    2. 在结构语义上
      • html:没有结构语义化的元素
      • html5:结构语义化较完善,比如<header><article><footer>
    三、html5 新特性、新增元素和移除元素
    1. html5 新特性:
      • 用于绘图的 vanvas 元素、svg 元素
      • 用于媒介回放的 videoaudio 元素
      • 对本地离线存储的更好的支持
      • 新的特殊内容元素,比如:articlefooterheadernavsection
      • 新的表单控件。比如:calendardatetimeemailurlsearch
    2. 新增元素:
      • <canvas> 新元素:<canvas>
      • 新多媒体元素:<audio><video><source><embed><track>
      • 新表单元素:<datalist><keygen><output>
      • 新的语义和结构元素:<article><aside><bdi><command><details><dialog><summary><figure><figcation><footer><header><mark><meter><nav><progress><ruby><rp><rt><section><time><wbr>
    3. 移除元素:
      • <acronym><applet><basefont><big><font><center><tt><strike><noframes><frameset><frame><dir>
    四、css3 新特性
    1. 新增许多选择器,比如:E:enabledE:disabled
    2. 新增动画相关的特性:TransitionTransformAnimation
    3. 新增背景和边框属性:
      • 背景:background-clipbackground-originbackground-sizebackground-break
      • 边框:border-radiusbox-shadowborder-image
    4. 文字特效:word-wraptext-overflowtext-shadowtext-decoration
    5. 多列布局
    6. 用户界面
    五、求 i 的值
      for (var i = 1; i <= 3; i++) {
        setTimeout(function () {
          console.log(i);
        }, 0);
      }
    

    运行结果:4

    六、如何声明 html5,有什么作用?
    • 声明 html5:<!DOCTYPE html>
    • 作用:告知浏览器文档使用哪种规范解析
    七、创建一个Ajax
    • 创建 XMLHttpRequest 对象
        var xmlhttp;
          if (window.XMLHttpRequest ) {
            xmlhttp = new XMLHttpRequest();    // 支持IE7+, Chrome, Opera, Safari 浏览器
          } else {
            xmlhttp = new ActiveXObject("MicroSoft.XMLHTTP");   // 支持 IE6, IE5 浏览器
          }
      
    • 当请求被发送到服务器时,执行一些基于响应的任务
       xmlhttp.onreadystatechange=function () {
           if (xmlhttp.readyState==4 && xmlhttp.status==200) {
             document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
           }
       }
      
    • 向服务器发送请求
        xmlhttp.open("GET", "ajax.text", true);
        xmlhttp.send();
      
      方法 描述
      open(method, url, async) 规定请求的类型、URL 以及是否异步处理请求。</br> <ul><li>请求的类型;GET 或 POST</li><li>文件在服务器上的位置</li><li>async:true(异步)或 false(同步)</li></ul>
      send(string) 将请求发送到服务器</br> <ul><li>string:仅用于 POST 请求</li></ul>
    八、为什么要使用CSS预处理器?
    1. CSS 无法递归式定义,使用预处理器可以减少代码的冗余
    2. 提高开发效率

    相关文章

      网友评论

        本文标题:关于前端面试的一点思考

        本文链接:https://www.haomeiwen.com/subject/wmvqfqtx.html