# web前端javascript综合水平测试 ## 填空 1. javascript 由 , , ,三部分组成,简单介绍一下这三部分 2. 检测数据类型的方式有 , , , 三种方式什么区别 3. 检测NaN的数据类型结果为 4. js中 对象转json的方法为 , json格式转对象的方法为 5. js 浏览器对象模型包括 , , , , ,五部份 分别介绍一下这5部分 6. var a=1;console.log(a++) 运行的结果为: 7. js运算符的优先级 8. js设置属性和属性值的方法为 9. 五大主流浏览器及内核 10. jq ajax基本结构及解释 11. 本地缓存的增删改查 12. jq选择器列举 ## 指出下面代码运行结果并分析其执行过程 1 . ``` function a(n) { if (n <= 1) { return 1 } else { return n * a(n - 1) } } console.log(a(5)) var cheng=a a=null console.log(cheng(5)) ``` 2 ``` function C1(name) { if (name) { this.name = name; } } function C2(name) { this.name = name; } function C3(name) { this.name = name || 'join'; } C1.prototype.name = 'Tom'; C2.prototype.name = 'Tom'; C3.prototype.name = 'Tom'; alert((new C1().name) + (new C2().name) + (new C3().name)); ``` 3 ``` function fn() { this.user = '追梦子'; var obj={user:"momo"} return {}; } var a = new fn; console.log(a.user); ``` 4 ``` window.color = 'red'; document.color = 'yellow'; var s1 = {color: 'blue' }; function changeColor(){ console.log(this.color); } changeColor.call(); changeColor.call(window); changeColor.call(document); changeColor.call(this); changeColor.call(s1); ``` ## 简答题 1. 说明call,apply,bind 的区别几个 2. js的typeof的返回值有哪些 3. 说出数组相关的几个方法并说明作用 4. ajax请求时的get、post的区别 5. 如何阻止浏览器的默认事件 6. 如何阻止事件冒泡 7. == 和===的区别 8. 局部变量和全局变量的区别 ## 通过代码实现下面要求 1. 通过原型链实现对象继承 2. js手动实现 jq的链式操作 3. 做一个网页计算器 实现输入两个数 完成加减乘除四则运算 4. 实现一个打点计时器,要求 1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1(start 和end为用户输入) 2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作 5. 在页面上将下面的json数据,需要放到表格里 json数据为: [{"title":"史莱姆1号","auth":'咖啡不放糖',"content":"别看我只是一直史莱姆","date":"2020/03/05"},{"title":"史莱姆2号","auth":'咖啡不放糖',"content":"别看我只是一直史莱姆","date":"2020/03/05},{"title":"史莱姆3号","auth":'咖啡不放糖',"content":"别看我只是一直史莱姆","date":"2020/03/05"},{"title":"史莱姆4号","auth":'咖啡不放糖',"content":"别看我只是一直史莱姆","date":"2020/03/05"},{"title":"史莱姆5号","auth":'咖啡不放糖',"content":"别看我只是一直史莱姆","date":"2020/03/05}] 注: title对应文章标题,auth 对应的是作者 , contnet对应的是简介 date对应的是日期 6. 实现 fizzBuzz 函数,参数 num 与返回值的关系如下: 1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz 2、如果 num 能被 3 整除,返回字符串 fizz 3、如果 num 能被 5 整除,返回字符串 buzz 4、如果参数为空或者不是 Number 类型,返回 false 5、其余情况,返回参数 num