前端常见面试问题整理

阐述清除浮动的几种方式

  1. 使用伪元素:after
.clearfix:after{
  content: "020"; 
  display: block; 
  height: 0; 
  clear: both; 
  visibility: hidden;  
  }
  1. 在浮动元素的后一个元素上添加clear:both;或者在后面加一个空元素,再加上clear:both;
  2. 在浮动元素的父元素上加上overflow属性。

JS中的定时器有哪些?它们的区别和用法

  1. setInterval()
    间隔指定的毫秒数不停地执行指定的代码。
    var myVar=setInterval(function(){myTimer()},1000);
    停止计时器
    clearInterval(myVar);

  2. clearTimeout()
    var myVar=setTimeout(function(){alert(“Hello”)},3000);
    停止计时器
    clearTimeout(myVar);

编写一个方法去掉数组里面 重复的内容 var arr=[1,2,3,4,5,1,2,3]

ES6的方法

    let arr=[1,2,3,4,5,1,2,3]
    let arr2 = [...new Set(arr)];
    console.log(arr2);

ES5的方法

    var arr=[1,2,3,4,5,1,2,3]
    var arr2 =[];
    for(var x in arr){
        if(arr2.indexOf(arr[x]) === -1 ){
            arr2.push(arr[x]);
        }
    }
    console.log(arr2);

写一个Ajax请求

IE6以下不支持XMLHttpRequest(),不过现在应该不用考虑。

    var Ajax={
        get: function(url, fn) {
            // XMLHttpRequest对象用于在后台与服务器交换数据
            var xhr = new XMLHttpRequest();
            xhr.open('GET', url, true);
            xhr.onreadystatechange = function() {
                // readyState == 4说明请求已完成
                if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) {
                    // 从服务器获得数据
                    fn.call(this, xhr.responseText);
                }
            };
            xhr.send();
        },
        // datat应为'a=a1&b=b1'这种字符串格式,在jq里如果data为对象会自动将对象转成这种字符串格式
        post: function (url, data, fn) {
            var xhr = new XMLHttpRequest();
            xhr.open("POST", url, true);
            // 添加http头,发送信息至服务器时内容编码类型
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xhr.onreadystatechange = function() {
                if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {
                    fn.call(this, xhr.responseText);
                }
            };
            xhr.send(data);
        }
    }

box-sizing常用的属性有哪些?分别有什么作用?

content-box
在宽度和高度之外绘制元素的内边距和边框。(标准盒模型)
border-box
通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。
inherit
规定应从父元素继承 box-sizing 属性的值。

HTML5为什么只需要写?

HTML5不基于SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器行为(让浏览器按照他们应该的方式来运行)而HTML4基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型.

常见行内元素有哪些?块级元素有哪些? 空(void)元素有哪些?

行内元素:a b span img select strong
块级元素:div ul ol li dl dt h1 p
空元素: br hr img link meta

猜你喜欢

转载自blog.csdn.net/weixin_41459434/article/details/83345666