题目1
Math.round(-2019.5)的结果是
A: 2019
B: -2019
C: 2020
D: -2020
-
答案
- B
-
解析
-
不多说,了解到的一个技巧,Math.round() 原来的数字加上0.5 然后向下取整就是最终值
// 例子 //2019.49 + 0.5 = 2019.99 向下取整 2019 x=Math.round(2019.49); //2019.5 + 0.5 = 2020.0 向下取整 2020 x=Math.round(2019.5); //-2019.79 + 0.5 = -2019.39 向下取整 2020 x=Math.round(-2019.79); //-2019.51 + 0.5 = -2019.01 向下取整 -2020 x=Math.round(-2019.51);
-
题目2
执行以下代码,输出的a值为()
if(! "a" in window){
var a = 1;
}
alert(a);
A: null
B: 1
C: undefined
D: 其他选项均不正确
-
答案
- C
-
解析
-
A in B 用于判断A是否在B的属性上或者是原型链上(官方解释为如果指定的属性在指定的对象或其原型链中,则**
in
运算符**返回true
。)// "a" 为字符串,会存在变量提升(不可能存在没有类型的一个变量!) //判断全局对象window中是否有变量a,如果没有变量a,就进入判断将a赋值为1 if(! "a" in window){ // 判断 "a" 是否是在window的属性或者原型链上 // 如果为true ,那么取反为 false,则不执行if语句 // 如果为false , 那么取反为true,则执行if语句 // 由于变量的提前声明特性,在执行这段代码之后,全局对象window中就已经存在a这个变量了,所以不进入if var a = 1; } alert(a);//输出undefined
-