2020-12-17 向右看齐 2022-12-28 14:23 17阅读 0赞 ## js面试题之第四天 ## **题1:什么是全局变量?什么是局部变量?** 答案: 局部变量:定义在函数内的变量,只能在函数中使用,并且只有在调用函数时存在,函数执行完之后变量就销毁了。 全局变量:定义在函数外的变量,在所有地方都可以使用,并且变量的值一直存在。 **题2:定义变量可以使用let和car,那他们有什么区别?** 答案: var 1、能定义全局变量和局部变量 2、可以重复定义变量 3、变量提升(先使用变量,后定义) let 1、能定义全局变量、局部变量、块级变量(大括号之内的变量) 2、不能重复定义一个变量 3、不能变量提升(必须先定义,再使用) 代码示例: var name = "tom" var name = "jack" //可以,不会报错 let age = 10; let age = 20; //报错!!重复定义了 //let 定义块级作用域,只能在for循环中使用 for (let i = 0; i < 10; i++) { } consoloe.log(i) //报错 只能在大括号里面打印 //var 定义的是全局变量(函数外) for (var i = 0; i < 10, i++){ } consoloe.log(i) // 11 **题3:break是干什么用的?continue是干什么用的?** 答案:break:退出循环(出循环外) continue:结束本次循环,进入下一次循环(还在循环内) 示例: //代码演示break和continue的区别 for (let i = 0; i < 3; i++) { if (i == 1) break //退出循环 console.log(i) //最终i的结果为0 } for (let i = 0; i < 3; i++) { if (i == 1) continue //结束本次循环,进入下一次循环 consoloe.log(i) //最终输出的结果为2 } **题4:return是干什么用的?** 答案:只能用在函数中 用途是:1、退出函数 2、在退出时还可以把函数中的数据返回到调用它的地方 function abc () { let a = 10; let b = 20; return a + b; //退出函数并返回a + b 的值 } console.log(abc()) // 30 //如果函数中没有return 那么函数的返回值是undefined: function abc () { let a = 10; let b = 20; a + b; } console.log(abc()) // undefined **题5:arguments 是干什么用的?** 答案: 1、只能用在函数中 2、它是一个对象,包含了所有调用函数时传的参数 3、代表调用函数时传的参数 function abc () { console.log(arguments) } abc('tom', 10, 'hello'); //打印出arguments的值为:arguments: {'0':'tom','1': 10, '2': 'hello'} **题6:在函数中,如何知道调用这个函数时一共传了几个参数?** 答案:在函数中使用arguments.length 比如: function abc () { consoloe.log(arguments.length) //5个 } abc(1,3,4,5,6) **题7:js中如何获取一个随机数?** 答案:使用Math.random 可以得到一个0~1之间的随机数(包含0,不包含1) **题8:如何获取当前时间?当前时间戳?什么是时间戳?** 答案:当前时间:new Date() 当前时间戳:Date.now(),得到的是毫秒为单位的秒数 时间戳:从1970年1月1日0时0分0秒这个时间点到现在所经历的秒数 **题9:如何把一个变量强制类型转换成数字?** 答案:使用Number 或者+ parselnt: 转整数 parseFloat:转小说 比如: let a = '013'; let b = Number(a) //将a转成数字 let c = +a; **题10: NaN是什么?** 答案:Not a Number (不是一个数字),一些不合理的数学运算时会得到NaN。 比如: let a = 'abc'; let b = Number(a) //NaN abc转完之后不是一个数字 console.log('abc' - 1234) //NaN **题11:当我们进行小数运算时,经常会得到不精确的值,这时怎么办?** 答案:使用Fixed 指定要精确到的小数位 比如: 0.34 + 0.48 //得到的结果是:0.8200000000000000000000001 (0.34 + 0.48 ).toFixed(2) // 0.82
还没有评论,来说两句吧...