一共四道大题:填空(10个),简答(5个),应用题(2个),编程题(1个)
一、填空
1. 运行一下代码,输出结果是______
function Foo(){} Foo.outPut=function(){console.log(2)} Foo.prototype.outPut=function(){console.log(3)} Foo.outPut();
2.列举三个移动端的特有事件__touchstart__ ___touchmove__ __touchend___
3.运行以下代码,输出结果是______
for(var i=1;i<3;i++){ setTimeout(function(){ console.log(i); },0); };
4.运行以下代码,输出结果是_____
var outPut=function(){console.log(4)}; function outPut(){ console.log(5) } outPut();
5."ssss".replace("s","as"),返回值是______
6.HTML5的标准页面第一行内容是_<!DOCTYPE html>_______
7.HTML5标准播放音频的标签_<audio></audio>______
8.以下HTTP状态码中分别代表什么
200__服务器成功提供了请求的网页____;302__服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求_____;403__服务器拒绝请求____
9.5-"8"等于__-3____,5+"8"等于____58___
10.typeof NaN的计算结果是_number____
二、简答题
1.设计模式中单例模式有什么好处
2.用浏览器打开一个页面发现是乱码,可能有哪些原因
3.你见过哪些网页图形验证码?它是为了解决什么问题?
4.优化网站加载速度的最佳实践有哪些?(5种即可)
5.Ajax是什么?请简述创建Ajax的步骤
三、应用题
1.在js语法中,对象(object)是引用传递的,复制一个对象(object)需要遍历里面所有的值,请实现复制对象(object)的方法,function deepClone(o)。(备注:JSON.stringify除外)
2.在页面加载完成后,有时我们需要异步加载另外一些js文件,并在加载完js文件后执行传入的callback方法,请实现function getScript(url,callback)。
四、编程
回文是指正读反读都一样的字符串,例如“abcba”、“abba”、“aba”、“aa”、“a”。
回文对是指,两个字符串相加后是回文的组合,例如:["aba","aba","abc","cba","def"]中,回文对是[["aba","aba"],["abc","cba"]]
已知一个给定数组由N个固定长度的字符串组成,返回数组里所有的回文对(注意算法效率)。