一:数组去重(面试遇到好多次,虽然遇到的时候可以查,但自己记住还是更好一点吧)
参考博客: http://www.cnblogs.com/libin-1/p/6255926.html
自己觉得最简洁的方法:简洁明了! prototype forEach
1 Array.prototype.unique = function () { 2 var result = []; 3 this.forEach(function (v) { // this:当前的数组 4 if (!result.includes(v)) { 5 result.push(v); 6 } 7 }); 8 alert(result); 9 }; 10 11 // 调用 测试OK 12 var a = [2,3,4,2,6,8,9,4]; 13 a.unique();
二:JSON(用了那么多,面试时候居然忘记了,哎。。。) 建议:抽空记得看json官网、js对象官网补充
总结一下,毕业刚工作的时候,接触到json,老是纠结于json到底是什么数据结构? 是js对象,是字符串? 其实看官网就知道,json是一种宽泛的数据表示格式,多种表现结构。
1.json是什么?
a:JavaScript 对象表示法
{json名:json值} json值可以是:数字、字符串、逻辑值、数组、对象,其中数组、对象这里还可以做嵌套。
JavaScript驻足表示法
........
b: JavaScript 对象是拥有属性和方法的数据。
2.json用途和方法?
a:数据交换
b:JSON.stringify() ——》 JavaScript 对象转换为字符串。 数据传输过程中都是以字符串的形式传输的,所以传输前要转换,接受后也要做转换。
JSON.parse() ——》 字符串解析为JavaScript对象。
3.参考资料
a:http://blog.csdn.net/xujie3/article/details/52954940
b:http://www.json.org/
三:跨域方案(前端、后端)
跨域? 网页从别的域名(协议、主机、端口)那获取资料,即跨域读取数据。
为什么不支持跨域? 同源策略,出于安全考虑。
1. jsonp
2.Access-Control-Allow-Origin 设置http报文()
关联:web.xml中执行顺序:监听器——》过滤器——》拦截器(listener——》filter——》servlet)
四:js闭包
五:jquery源码:如何用原生js来封装一个类jquery选择器?
答:哦,选择器$(形参)是一个方法,调用的时候传递实参即可。 内部还是用原生js来做选择和操作。
六:ajax同步、异步,为什么需要同步?意义何在?
答:后面代码依赖于当前请求的结果,必须当前的请求完成后,再执行后面的代码。
7.安全:
DOS攻击:Denial of Service (带宽攻击、连通性攻击)
DDOS:分布式拒绝服务攻击
xxs
8.协议
TCP/IP: 抓包 ping
http:
https:对称加密算法+ 随机数 做数据传输,非对称加密算法协商(告知客户端我用什么什么对称加密算法)
身份验证:第三方机构(CA)用它的私钥对我的公钥加密,传到客户端; 客户端用第三方的私钥解密。
数字签名:证书被篡改。(证书编号)
9.