阿里巴巴2015实习生招聘 - 前端笔试题
2015-09-26 18:14
344 查看
前记:我没有参加阿里巴巴的前端笔试,至于原因==,就不说了。。现在为了参加百度的前端笔试,整理一下阿里的题目
1.数组的属性的考察,splice且切片arr.splice();
请选择以下语句的正确运行结果: var a = [1,2,3]; a.splice(1,1,2,3,4); console.log(a);
我的答案:[1,2,3,4,3],我的思路:splice(起始位置,结束位置,后序插入的元素1,插入元素位置2...)
正确答案:[1,2,3,4,3],哈哈,我是对的,不过我的解释错了!splice(起点,长度)/(起点,0,待插元素)/(起点,长度,替换元素) 补充:其实(起点,0,待插元素)只是(起点,长度,替换元素)的特例啦 1.一个参数 splice(起点位置); //默认删除到最后 eg : var a = [1,2,3]; a.splice(1) ;// a就变成[1] a.splice(-1); //返回的是[3],a变成[1,2] a.splice(-2) ; //返回的是[2,3],a变成[1] //当起点位置 <= -a.length的时候,全部返回 a.splice(-3) ; //返回的是[1,2,3],a变成[] 2.两个参数 splice(起始位置,长度) eg : var a = [1,2,3]; a.splice(0,2); //返回的是[1],a变成[2,3] //当长度大于等于 arr.length - 起点位置 时,则默认切到最后 a.splice(1,10); //返回的是[2,3],a变成[1] //当长度 <= 0 时,则返回的是空数组[] a.splice( 1,0 ); //返回的是[],a为[1,2,3] 3.三个及以上参数 splice(起始位置,长度,替换元素1,替换元素2,替换元素3...) var a = [1,2,3]; a.splice( 1,2 , 77); //返回的是[2,3],a变成[1,77]
解析:数组属性 属性: var a = [1,2,3]; a.length 可以对a.length进行赋值 eg:a.length = 2 => a = [1,3](当a.length设为0时,即可清空数组) (1)数组元素添加: i.从尾部添加:a.push(33); ii.从头部添加:a.unshift(33); (2)数组元素删除: i.从尾部删除:a.pop(); ii.从头部删除:a.shift(); (3).数组的切片:splice a.连续删除元素:splice (起点,长度) eg: var a = [1,2,3,4,5,6]; a.splice(1,2) =>a = [1,4,5,6] b.插入元素:splice(起点,0,待插元素) eg: var a = [1,2,3,4,5,6]; a.splice(1,0,9,7) => a = [1,9,7,2,3,4,5,6]; c.替换元素:splice (起点,长度,替换元素) eg: var a = [1,2,3,4,5,6]; a.splice(2,2,"a"); => a =[1,2,a,5,6]; e.数组元素的连接: join eg: var a = [1,2,3,4]; a.join('-') => '1-2-3-4' f.排序;sort(参数) (参数为函数,即比较函数) (1)从小到大 eg: var a = [4,2,1]; a.sort(function(n1,n2){return n1-n2;}) => a = [1,2,4] (2)从大到小 eg: var a = [4,2,1]; a.sort(function(n1,n2){return n2-n1;}) => a = [4,2,1] g.数组连接:concat eg: var a = [1,6,3]; var b = ["dd","ff"]; var c = a.concat(b); => c = [1,6,3,"dd","ff"] var d = b.concat(a); => d = ["dd","ff",1,6,3] 注: 数组 a 和 b 不变
2.关于XSS,下列说法正确的是:
a.XSS的全称是Cross site scriptb.CSRF是xss的一种
c.从cookie中获取用户名并输出到页面的过程不会导致XSS
d.xss都是因为后端未对数据做安全检查造成的
正确答案是:a XSS: cross site script跨域脚本攻击,重点是 跨域 和 客户端执行。 XSS攻击包括:(1)Reflected XSS,基于反射的XSS攻击,主要依靠站点服务端返回脚本,那么返回的页面自然也会返回这段脚本,从而执行它。 (2)DOM-based or local XSS,基于DOM或本地的XSS攻击 (3)Stored XSS,基于存储的XSS攻击 对于XSS攻击的预防策略是: 对提交数据的过滤,另外还有一点是谨慎返回用户提交的内容。 b: CSRF( cross-site request forgery/跨站请求伪造),CSRF与XSS非常相似,但XSS是利用用户对当前网站的信任来发起攻击,而CSRF是利用网站对用户的信任来发起攻击。 对于CSRF攻击的对付策略有: (1)检查报头中的Referer参数确保请求发自正确的网站(但是XHR请求可调用setRequestHeader方法来修改Referer报头) (2)对于任何重要的请求都需要重新验证用户的身份; (3)创建一个唯一的令牌(Token),将其存在服务器端的session中及客户端的cookie中,对任何请求,都检查二者是否一致。
3.变量声明提前及this,作用域的考察
function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) { document.cookie= name + "="+ cval+ ";expires="+exp.toGMTString(); } }
View Code
12.给出css,添加css完成一个样式设置,
13.编写一个js函数,parseQueryString,它的用途是把url参数解析为一个对象,例如:
var url = http : //witmax.cn/index.php?key=0&key1=1&key2=2
相关文章推荐
- 选择29部分有用jQuery应用程序插件(免费点数下载)
- javascript自学之路(四)————js对象类型之prototype属性的探索
- WIN7 活动窗口不能显示到最前端
- html网页制作小试
- HTML表单
- WINDOW 活动窗口不能显示到最前端
- jQuery菜单制作
- 常用的CSSreset整理
- css常见问题解析1
- Css3基本用法
- HTML中的实体是什么?
- Labelauty–jQuery单选框/复选框美化插件分享
- 浅谈Javascript中Object与Function对象
- 剑指 offer:二叉树的镜像
- html5使用indexdb
- Connection #Facebook Relay文档翻译#
- 原生js 简单拖拽
- 给定字符串,实现大小写之间的转换
- JQuery选项笔记 选择器终结篇 -- 小案例
- HTML如何在图片上添加内容(如文字,菜单栏,按钮等)