webveuje/考试/答案/前端js阶段性测试答案.md
2021-04-01 09:06:07 +08:00

3.0 KiB
Raw Blame History

考试题目

填空

  1. js变量类型一共有 2 种,分别是哪些

    原始值和引用值

    原始值 number string boolean undefined nll

    引用值 object

  2. 将 "025.5" 的string类型变量转化为 number 类型后 值是什么? 25.5

  3. 1 + 1 的运算结果是 11

  4. 0 || 3 的返回结果是 3

  5. 1 && 5 的返回结果是 5

  6. 三种数据类型检测的方法 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)

  1. 定义一个方法 接受一个参数 计算从1 到传入数字的总和(累加) 并返回总和

function add(e){

var sum=0

for(let i=1;i<=e;i++){

sum+=i

}

return sum

}

  1. 定义一个方法 接受一个参数 返回传入的参数是不是偶数 偶数返回 1 奇数返回 0

    function panduan(e){

    if(e%2){

    return 0

    }else{

    return 1

    }

    }

  2. 有下面一段代码 请写出答案

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了

  1. 有下面一段代码 请写出答案
let n = "喵喵喵"
window.n = "汪汪汪"
let obg = {
    n:"啦啦啦",
    echo: ()=> {
        return this.n;
    }
}
let jieguo = obg.echo()

请问变量 jieguo 的值是什么,为什么

汪汪汪

箭头函数内部没有this 他的this会指向外面一层的对象所以会从window 里取n的值 即汪汪汪

  1. 请写出一个构造函数 他有一个name 属性和一个 echo方法 执行echo的时候会返回他name的值 new 的时候将传入的参数的值赋值给name

    function miao(name){

    this.name=name

    this.echo=function(){

    return this.name

    }

    }

var mao=new Miao('本猫咪')

  1. 分析下面代码的预编译过程

    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

}

{

pri:0.0,

say:function(){},

end:function(){},

}