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

2017-10-23  本文已影响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;
    */

上一篇下一篇

猜你喜欢

热点阅读