JS面试题目

1.让页面中的一个元素垂直水平居中的几种方法?

给父级一个display:flex;然后元素中写justfy-content:center;子元素加align-item:center;

1.display:flex; justify-content: center; align-items: center;
2.position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); 
3.position: absolute; left: 0; top: 0; right: 0; bottom: 0;

2.请描述一下cookie,sessionStorage和localStorage区别:

JS面试题目

3.如何判断一个字符串‘asdfssaaaasasasasasa’中出现次数最多的字符,并且统计一个次数?

function maxCount(str) {  
   var obj={};
   for(var i=0;i<str.length;i++){  
       var key=str[i];  
       if(obj[key]){
           obj[key]++;  
       }else{  
           obj[key]=1;
       }  
   }  
 
   var maxCount=0;
   var maxString="";
   for(var key in obj){  
       if(maxCount<obj[key]){  
           maxCount=obj[key]; 
           maxString=key;  
       }  
   }  
   return "出现次数最多的字母:"+maxString+"出现了"+maxCount+"次";  

    }  

4.移动端适配方法?

使用rem单位来做网页适配
 

5.简述一下用代码实现页面图片懒加载效果。
require.config({
    baseUrl : "/static",
    paths: {
        jquery:'component/jquery/jquery-3.1.0.min'
        jqueryLazyload: 'component/lazyLoad/jquery.lazyload',//图片懒加载
    },
    shim: {
        jqueryLazyload: {
            deps: ['jquery'],
            exports: '$'
        }
    }
});

6.Ajax的实现原理是什么?请简述Ajax的请求过程。

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。

ajax请求的步骤
1.创建XMLHttpRequest
2.连接服务器
3.向服务器端发送请求
4.接受服务器的返回