首页 > 其他 > 详细

前端面试题-10题

时间:2020-06-04 20:41:22      阅读:56      评论:0      收藏:0      [点我收藏+]

HTML5的离线储存?

参考回答:(仅供参考,更多详细知识可自行找度娘)

离线储存原理:
HTML5的离线存储是基于一个新建的.appcache文件的缓存机制,通过这个文件的解析清单离线存储资源,这些资源会暂时存储在本地。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行显示。
使用方法:
1、HTML页面头部加入一个manifest的属性:
<!DOCTYPE HTML>
<html manifest="cache.manifest">
......
</html>
2、在cache.manifest文件中编写离线存储的资源:
CACHE MANIFEST
#v0.11

CACHE:
js/app.js
css/style.css

NETWORK:
resourse/logo.png

FALLBACK:
//offline.html

3、在离线状态是,操作window.applicationCache进行需求实现。

javaScript的数据类型有几种?

参考回答:

五种:
字符串值,数值,布尔值,数组,对象

javaScript的数据类型都有什么?

参考回答:

number、string、Boolean、null、undefined、object

ajax是什么?ajax的交互模型?

参考回答:

ajax是什么:ajax是用于创建快速网页技术,是异步JavaScript和xml。
ajax的交互模型:
1、创建xhr
2、open打开异步通道,设置异步请求true为异步请求
3、send发送数据
4、判断readystate==4;HTTP请求在200,300之间或者304数据请求成功

同步与异步的区别?

参考回答:

同步:当执行一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有这个函数或方法接收到返回的值或消息后才往下执行其他的命令。
异步:执行完函数或方法后,不必阻塞性的等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。
1、同步是实时处理,可以看做是单线程,这个线程请求一个方法后会一直等到这个方法回复消息,否则不往下执行。
2、异步是分时处理,可以看做是多线程,请求一个方法后,不管这个方法是否回复信息,继续执行其他的方法。

如何解决跨域问题?

参考回答:

跨域是什么:跨域指的是一个域下的文档或脚本试图去请求另一个域下的资源。
解决方案:
1、通过jsonp跨域
2、document.domain+iframe跨域
3、location.hash+iframe
4、window.name+iframe跨域
5、postMessage跨域
6、跨域资源共享(CORS)
7、nginx代理跨域
8、node.js中间件代理跨域
9、WebSocket协议跨域

jquery中如何将数组转化为json字符串,然后再转化回来?

参考回答:

JSON.stringify把一个对象转换成json字符串
JSON.parse把一个json字符串解析成对象
$.fn.stringify = function(){
      return JSON.stringify(this);
}
调用:
$(array).stringify();

用js实现随机选取10-100之间的10个数字,存入一个数组,并排序。

参考回答:

<script type="text/javascript">

      function sortNumber(a,b){
            return a-b;//升序
            //return b-a;//降序
      }

      var iArray=[];
      function getRandom(Start,End){
            var choice=Start-End+1;
            return Math.abs(Math.floor(Math.random()*choice))+Start;
      }
      for(var i = 0 ; i<10 ; i++){
            iArray.push(getRandom(10,100))
      }
      iArray.sort(sortNumber);
      console.log(iArray);

</script>

写一个function,清除字符串前后的空格。(兼容所有的浏览器)

参考回答:

function trim(str){
      if(str && typeof str === "string"){
            return str.replace(/(^\s*)|(\s*)$/g,""); //去除前后空格
      }
}

javaScript中的定时器有哪些?它们的区别及用法是什么?

参考回答:

常用的定时器有三种:
1、setInterval,按照指定间隔时间把回调函数加入任务队列,js会逐个执行,并且会一直执行。
例:var timer = setInterval( ()=>{alert("hi");},1000)
2、setTimeout,在指定的毫秒数后调用函数或计算表达式,只执行一次。
例:var timer = setTimeout(()=>{alert("hi");},1000)
3、requestAnimationFrame,与setTimeout相比requestAnimationFrame最大的优势是由系统来决定回调函数的执行时机,它能保证回调函数在屏幕每一次的刷新间隔中只被执行一次,这样不会引起丢帧现象,常用与动画场景。

请描述一下cookies sessionStorage和localstorage区别。

参考回答:

1、localStorage可以长期存储数据,浏览器关闭数据后不丢失。
2、sessionStorage数据在浏览器关闭后自动删除。
3、cookie是网站为了标识用户身份而存储在用户本地终端上的数据(加密数据)。可以在浏览器和服务器之间来回传递,而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
4、存储大小:cookie数据大小一般不会超过4k,sessionStorage和localStorage却可以达到5M设置更多。
5、有效时间:localStorage永久保存数据,除非手动删除数据。sessionStorage数据当浏览器关闭后自动删除,cookie数据在设置的期间内会一直保留。

前端面试题-10题

原文:https://www.cnblogs.com/Gu-daole/p/13045851.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!