192 lines
3.7 KiB
Markdown
192 lines
3.7 KiB
Markdown
|
# 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
|