webveuje/考试/答案/前端js阶段性测试答案.md

251 lines
3.0 KiB
Markdown
Raw Permalink Normal View History

2021-04-01 09:06:07 +08:00
# 考试题目
## 填空
1. js变量类型一共有 2 种,分别是哪些
原始值和引用值
原始值 number string boolean undefined nll
引用值 object
3. 将 "025.5" 的string类型变量转化为 number 类型后 值是什么? 25.5
4. 1 + 1 的运算结果是 11
5. 0 || 3 的返回结果是 3
6. 1 && 5 的返回结果是 5
7. 三种数据类型检测的方法 typeof instanceof **Object.prototype.toString.call**
## 简答
1. 定义一个数组[1,2,4,8,32] 计算所有数组元素的总和 最后把数组元素的总和写在页面上。
var arr=[1,2,4,8,32]
var sum=0
for(let i in arr){
sum+=arr[i]
}
document.write(sum)
2. 定义一个方法 接受一个参数 计算从1 到传入数字的总和(累加) 并返回总和
function add(e){
var sum=0
for(let i=1;i<=e;i++){
sum+=i
}
return sum
}
3. 定义一个方法 接受一个参数 返回传入的参数是不是偶数 偶数返回 1 奇数返回 0
function panduan(e){
if(e%2){
return 0
}else{
return 1
}
}
4. 有下面一段代码 请写出答案
```javascript
let obg = {
name:"啦啦啦",
age:18
}
function func(o){
o.name = 123
}
func(obg)
```
执行完之后obg的值是什么 为什么
{name:123,age:18}
func(obg) 把obg 当作参数传了进去 然后 从函数体内 修改了obj里name的值为123
然后 重新输出obg时 name 就变成123了
5. 有下面一段代码 请写出答案
```javascript
let n = "喵喵喵"
window.n = "汪汪汪"
let obg = {
n:"啦啦啦",
echo: ()=> {
return this.n;
}
}
let jieguo = obg.echo()
```
请问变量 jieguo 的值是什么,为什么
汪汪汪
箭头函数内部没有this 他的this会指向外面一层的对象所以会从window 里取n的值 即汪汪汪
6. 请写出一个构造函数 他有一个name 属性和一个 echo方法 执行echo的时候会返回他name的值 new 的时候将传入的参数的值赋值给name
function miao(name){
this.name=name
this.echo=function(){
return this.name
}
}
var mao=new Miao('本猫咪')
7. 分析下面代码的预编译过程
```
var shopname='解忧杂货店';
var auth="东野圭吾"
function echo(pri){
var say=function(){console.log("welcome")}
age=40
function end(){
console.log('欢迎下次光临')
}
}
echo("0.0")
```
go:
1.{
shopname:undefined
auth:undefined
age:undefined
echo:undefined
}
2.{
shopname:"解忧杂货店"
auth:"东野圭吾"
age:40,
echo:undefined
}
3.{
shopname:"解忧杂货店"
auth:"东野圭吾"
age:40,
echo:function
}
AO:
1.{
pri:undefined
say:undefined
end:undefined
}
2.{
pri:0.0,
say:function(){},
end:undefined
}
3.
{
pri:0.0,
say:function(){},
end:function(){},
}