美文网首页
数据类型运算符流程控制语句

数据类型运算符流程控制语句

作者: 月光下的微笑 | 来源:发表于2017-10-23 12:42 被阅读0次
    1. JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?

      • 数据类型:数值、字符串、布尔值称为原始类型(primitive type),对象为复杂类型(complex type),至于undefined和null,一般将它们看成两个特殊值。
        1. 数值(number):整数和小数(比如1和3.14)
        2. 字符串(string):字符组成的文本(比如"Hello World")
        3. 布尔值(boolean):true(真)和false(假)两个特定值
        4. undefined:表示“未定义”或不存在,即此处目前没有任何值
        5. null:表示空缺,即此处应该有一个值,但目前为空
        6. 对象(object):各种值组成的集合
      • 区别:复杂类型是往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。
    2. typeof和instanceof的作用和区别?

      • typeof:输出的是字符串,只能判别原始类型number、string、boolean还有function以及undefined。
      • instanceof:则输出的是boolean值,它还能判别次对象的类别如Array对象
    3. 如何判断一个变量是否是数字、字符串、布尔、函数?
      使用typeof就能满足需求;

    4. NaN是什么? 有什么特别之处?
      NaN全名Not a Number ,表明他不是一个数值如:

      • 数字减去一个字符
    5. 如何把非数值转化为数值?

      1. number()
      2. parseInt()
      3. parseFloat()
        他们有第二个参数,表示制定输入的进制类别,然后转出10进制数。如;
        parseInt(101,2) /5
    6. ==与===有什么区别
      ==: 相等,可以转换数据类型;如0==false /ture
      ===: 严格相等类型不匹配就返回flase;如0===false /false

    7. break与continue有什么区别?

      • break 用于强制退出循环体。
      • continue 用于退出本次循环,执行下次循环。
    8. void 0 和 undefined在使用场景上有什么区别

      • undefined 可以在局部作用域中被覆写
      • void 运算返回值始终都是 undefined
    9. 以下代码的输出结果是?为什么?

      console.log(1+1);
      //2 数字相加
      console.log("2"+"4");
      //"24" 字符串拼接
      console.log(2+"4");
      //"24" 当有个参数是字符串,则默认为字符串拼接
      console.log(+"4");
      //4 数字4

    10. 以下代码的输出结果是?

      var a = 1;
      a+++a;
      typeof a+2;
      //"number2" 可以看成(typeof a)+2因为typeof a比运算符号的优先级高;

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

      var a = 1;
      var b = 3;
      console.log( a+++b );
      //4 ++优先级比+高,(a++)+b =1+3 =4

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

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

    13. 遍历 JSON, 打印里面的值

      var obj = {
      name: 'hunger',
      sex: 'male',
      age: 28
      }
      for (var a in obj) {
      console.log(obj[a]);
      }

    14. 以下代码输出结果是?

      var a = 1, b = 2, c = 3;
      var val = typeof a + b || c >0
      console.log(val)
      //"number2" 前面返回ture后面不会执行
      var d = 5;
      var data = d ==5 && console.log('bb')
      console.log(data)
      /*
      bb
      undefined
      console.log(‘bb’)输出bb。
      d等于5,true,判断true和console.log(),是否都为true。
      console.log('bb')得到undefined,undefined赋给data。
      */
      var data2 = d = 0 || console.log('haha')
      console.log(data2)
      /*
      haha
      undefined
      判断0为false,执行console.log();输出haha。
      console.log(‘haha’)输出undefined,将undefined赋值给data2。
      */
      var x = !!"Hello" + (!"world", !!"from here!!");
      console.log(x)
      /*
      2
      !!"Hello" =true
      !!"from here!!"=true;
      true+true=1+1=2;
      */

    相关文章

      网友评论

          本文标题:数据类型运算符流程控制语句

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