223 lines
3.6 KiB
Markdown
223 lines
3.6 KiB
Markdown
# 考试题目
|
||
<font color="red">77</font>
|
||
## 填空
|
||
1. js变量类型一共有 7 种,分别是哪些 boolean string undefined null bigint number symbol <font color="red">3</font>
|
||
2. 将 "025.5" 的string类型变量转化为 number 类型后 值是什么? 25.5 <font color="red">5</font>
|
||
3. 1 + ‘1’ 的运算结果是 11 <font color="red">5</font>
|
||
4. 0 || 3 的返回结果是 3 <font color="red">5</font>
|
||
5. 1 && 5 的返回结果是 5 <font color="red">5</font>
|
||
6. 三种数据类型检测的方法 typeof, instance of ,object.prototype.toString.call()
|
||
<font color="red">3</font>
|
||
## 简答
|
||
1. 定义一个数组[1,2,4,8,32] 计算所有数组元素的总和。<font color="red">10</font>
|
||
|
||
let num = [1,2,4,8,32];
|
||
|
||
let sum = 0;
|
||
|
||
for (let i=0;i<num.length;i++) {
|
||
|
||
sum += num[i];
|
||
|
||
}
|
||
|
||
alert(sum);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
2. 定义一个方法 接受一个参数 计算从1 到传入数字的总和(累加) <font color="red">10</font>
|
||
|
||
let s = 0;
|
||
|
||
function sum(n){
|
||
|
||
for (let i=1;i<=n;i++) {
|
||
|
||
s += i;
|
||
|
||
}
|
||
|
||
alert(s);
|
||
|
||
}
|
||
|
||
sum(3);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
3. 定义一个方法 接受一个参数 返回传入的参数是不是偶数 偶数返回 1 奇数返回 0 <font color="red">10</font>
|
||
|
||
function odd(n){
|
||
|
||
if (n%2==0) {
|
||
|
||
return 1;
|
||
|
||
}
|
||
|
||
else { return 0; }
|
||
|
||
}
|
||
|
||
odd(3);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
4. 有下面一段代码 请写出答案 <font color="red">8</font>
|
||
```javascript
|
||
let obg = {
|
||
name:"啦啦啦",
|
||
age:18
|
||
};
|
||
function func(o){
|
||
o.name = 123
|
||
}
|
||
func(obg);
|
||
|
||
```
|
||
执行完之后obg的值是什么, 为什么
|
||
|
||
obg {
|
||
name:123,
|
||
age:18
|
||
};
|
||
|
||
函数把obj当做参数传入并改变了obj的name属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
5. 有下面一段代码 请写出答案 <font color="red">10</font>
|
||
```javascript
|
||
let n = "喵喵喵"
|
||
window.n = "汪汪汪"
|
||
let obg = {
|
||
n:"啦啦啦",
|
||
echo: ()=> {
|
||
return this.n;
|
||
}
|
||
}
|
||
let jieguo = obg.echo()
|
||
```
|
||
请问变量 jieguo 的值是什么,为什么
|
||
|
||
汪汪汪
|
||
|
||
jiegou调用obg的echo方法,由于echo是箭头函数不能调用对象内的n:啦啦啦,只能调用对象外一层的n,对象外一层的n 先定义为喵喵喵后改为汪汪汪,所以jiegou的值为汪汪汪
|
||
|
||
|
||
|
||
6. 请写出一个构造函数 他有一个name 属性和一个 echo方法 执行echo的时候会返回他name的值 new 的时候将传入的参数的值赋值给name <font color="red">3</font>
|
||
|
||
function Fn(name){
|
||
|
||
this.name = name;
|
||
|
||
echo(name){
|
||
|
||
return "name";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
let fn = new Fn("LiMing");
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
7. 分析下面代码的预编译过程 <font color="red">5</font>
|
||
|
||
```
|
||
var shopname='解忧杂货店';
|
||
var auth="东野圭吾"
|
||
function echo(){
|
||
var say=function(){console.log("welcome")}
|
||
age=40
|
||
function end(){
|
||
console.log('欢迎下次光临')
|
||
}
|
||
|
||
}
|
||
```
|
||
|
||
GO: 1.先找到变量和函数声明 找到 shopname auth echo()
|
||
|
||
2.执行过程中给变量赋值 var shopname='解忧杂货店'; var auth="东野圭吾"
|
||
|
||
3.执行过程中给函数赋函数体 function echo(){ ...}
|
||
|
||
4.执行
|
||
|
||
AO :1.在函数体内部先找到变量和形参 找到say
|
||
|
||
2.执行过程中形参和实参相统一,并且给函数表达式赋值
|
||
|
||
var say=function(){console.log("welcome")}
|
||
|
||
3.执行过程中寻找函数声明并给函数赋函数体
|
||
|
||
function end(){console.log('欢迎下次光临')}
|
||
|
||
4.执行
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|