问:javascript中有哪些数据类型?
答: 数值 字符串 布尔值 数组 对象 null undefined
问:状态码200、304、500、400的含义是什么?
答:200请求成功
304未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
400客户端请求的语法错误,服务器无法理解
500服务器内部错误,无法完成请求
问:如何提高前端性能?
答:减少回流和重绘,最小化请求,使用自动化工具搭建如Gulp,减少第三方脚本,压缩图片、代码
问:如何处理ajax跨域?
答:跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。所谓的同源,指的是域名、协议、端口均相等
解决跨域问题,有如下三种方式:
1、使用jsonp
JSONP是一种非官方的方法,而且这种方法只支持GET方法,不如POST方法安全。(从实现机制就可明白)。JSONP的实现需要服务器配合,如果是访问的是第三方的服务器,我们没有修改服务器的权限,那么这种方式是不可行的。
2、服务器代理(nginx反向代理)
3、在服务端设置response header中Access-Control-Allow-Origin字段。
目前有9种跨域方法:
1)JSONP;
2)CORS;
3)postMessage;
4)window.name + iframe;
5)document.domain + iframe;
6)location.hash + iframe;
7)动态创建script标签;
8)web sockets;
9)nginx设置反向代理。