JS-task2

作者: 飘飘流浪者 | 来源:发表于2017-08-26 23:10 被阅读0次

NaN是什么? 有什么特别之处?

NaN是Not a Number的缩写,即非数值。是一个特殊的数值,用来表示一个本来要返回数值的操作数未返回数值的情况,来代替报错。

  • 任何涉及NaN的操作都会返回NaN。
  • NaN与任何值都不相等,包括NAN本身。

break与continue有什么区别?

  • break 用于强制退出循环体,执行循环后面的语句
  • continue 用于退出本次循环,执行下次循环
for(var i = 1; i< 10; i++){
    if(i % 4 === 0){
        continue;
    }
     console.log(i);   //1,2,3
}
for(var i = 1; i< 10; i++){
    if(i % 4 === 0){
        continue;
    }

    console.log(i); // 1,2,3,5,6,7,9
}

switch case 语句中的 break 有什么作用?

switch中的break语句确保程序立即从相关的case子句中跳出 switch 并接着执行 switch 之后的语句。若 break 被省略,程序会继续执行 switch 语句中的下一条语句。

以下代码的输出结果是? 为什么

var a = 1;
 var b = 3;
 console.log( a+++b );

输出4。后置自增运算符(++)优先级>前置自增运算符(--)>加法运算符(+),故a+++b=(a++)+b,输出4。

遍历数组,把数组里的打印数组每一项的平方

var arr = [3,4,5]

var arr = [3,4,5];
for (var i = 0; i < arr.length; i++){
    console.log(arr[i]*arr[i])  //9,16,25
}

以下代码输出结果是? 为什么

  1.  var a = 1, b = 2, c = 3;
     var val = typeof a + b || c >0
     console.log(val) 
    

输出“number2”。因为typeof优先级最高,其次是“+”号,其次是">",最后是“||”。typeof a
+b得到“number2”,转换成boolean为true,由于逻辑运算符的“短路”特性,故直接输出“number2”.

  1.  var d = 5;
     var data = d ==5 && console.log('bb')
     console.log(data)
    

输出“bb undifined”。"=="号优先级大于逻辑与“&&”,“d == 5”得到true,由于逻辑与的特性,故继续执行console.log('bb'),得到输出“bb”。由于console.log本身返回undifined,故输出“undifined”。

  1.  var data2 = d = 0 || console.log('haha')
    console.log(data2)
    

输出“haha undifined”。“||”优先级大于赋值“=”。0转换为boolean值为false,根据逻辑或的特性,继续向下执行console.log('haha'),输出“haha”,由于console.log本身返回undifined,故输出“undifined”。

  1.  var x = !!"Hello" + (!"world", !!"from here!!");
     console.log(x)
    

输出2。括号优先级最高,根据有逗号则执行所有内容并返回逗号后面的一项,故(!"world",!!"from here!!")返回!!"from here!!"。又因为逻辑非“!”返回boolean类型,故返回true。故!!"hello"也返回true。x = true + true = 2,故最终返回2。

相关文章

  • JS-task2

    NaN是什么? 有什么特别之处? NaN是Not a Number的缩写,即非数值。是一个特殊的数值,用来表示一个...

网友评论

      本文标题:JS-task2

      本文链接:https://www.haomeiwen.com/subject/oddmdxtx.html