后期有一定的计划是总结总结各路英雄的面试题,我做已解答,讲真我真的是很紧张哇,平时你们看我乐观向上,其实我一点都不淡定,我不乐观。
首先是如何实现一个倒计时功能:
这道题的解决方案大家也都知道,要用到setInterval函数,
setInterval(code,millisec[,"lang"]),毫秒为单位进行。
下面看看解决问题的代码:
html:
<body οnlοad="leftTime()">
<!--创建一个现实时间的块级元素,在里面定义一个将用来放时间的span,id为time-->
<div>剩余时间:<span id="time"></span></div>
js:
//定义一个函数用来传输你输入的数据
function leftTime(year, mouth, day, hour, minute, second) {
//计算剩余的毫秒数
var time = (new Date(year, mouth - 1, day, hour, minute, second) - new Date());
var days = parseInt(time / 1000 / 60 / 60 / 24, 10);//天数
var hours = parseInt(time / 1000 / 60 / 60 % 24, 10);//小时
var minutes = parseInt(time / 1000 / 60 % 60, 10);//分钟
var seconds = parseInt(time / 1000 % 60, 10);//秒数
// 下面就是用到setinterval的位置了,直接把函数放进去,时间间隔是一秒钟
setInterval('leftTime(2018, 3, 4, 0, 0, 0)',1000);
document.getElementById("time").innerHTML=days+"日"+hours+"小时"+minutes+"分钟"+seconds+"秒";
}
2.怎么理解es6的箭头函数中的this,他和一般函数的this有什么区别:
①箭头函数的this是在定义函数的时候就绑定的了,但是一般的是在执行函数的时候绑定的。
②箭头函数根本就没有自己的this,导致内部的this就是外层的代码块,所以也不能做构造函数。
3.同源策略:
同源策略(same-origin policy),是有Netscape公司引入浏览器的,所谓的同源就是“协议相同”,“域名相同”,“端口相同”。同源策略的目的是为了保证用户的信息安全,不能跨域访问,防止恶意的网站窃取数据。cookie也是不能跨域访问的,如果说没有同源策略,cookie可以共享,那就毫无安全性可言了。在同源策略下,cookie和localstorage是无法读取的,dom无法获得,ajax请求不能发送。
有几种可以跨域访问的方法,不过在用之前一定要获得允许哦。①window.name②片段标识符(就是url后面的#部分)③window.postMessage④jsonp⑤CORS⑥websocket