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

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

作者: 饥人谷_tanfei | 来源:发表于2017-05-13 16:17 被阅读0次

    1. JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?

    字符串,布尔值,数字,对象(object)
    原始类型:字符串,布尔值,数字
    复杂类型:对象(其中对象里还能分为狭义的对象object,数组arry,函数function,正则表达式regexp,null和undefined是两个特殊值)
    区别:原始类型一般由字符串,数字,布尔值组成,而复杂类型一般会是多个原始类型的封装

    2. typeof和instanceof的作用和区别?

    • typeof:可以返回数据的数据类型。比如:数字number,字符串string,对象object,布尔值boolean,函数function,undefined会返回undefined,其他的会返回object
    • instanceof:可以用于判断数组和对象,因为typeof对数组和对象都会返回object因此用instanceof可以判断数组和对象,会返回true或者false

    3. 如何把非数字转换为数值?

    • parseInt()
    • number()
    • parseFloat()

    4. == 和 === 有什么区别?

    • 在使用 === 时两边值相等并且数据类型相等时,即完全相等时才会返回true
    • 在使用 == 时两边比较的要求会有所降低,具体如下:
      如果类型不同时 null 和 undefined 相等
      在数字和字符串比较时,会把字符串转换成数字进行比较
      如果是true和false 会转换成1和0 进行比较
      如果一个是对象 一个是数字或者字符串 则使用valueof和tostring进行比较
      除了以上的情况,只要数据类型不一样就不会相等了

    5. break与continue有什么区别?

    在使用break时,遇到break后会跳出循环体不再进行函数循环
    `for(var i = 1; i< 10; i++){
    if(i % 4 === 0){
    break;
    }
    console.log(i);
    }`
    在使用continue时,遇到continue后会跳过当前循环阶段进入下一个循环阶段
    for(var i = 1; i< 10; i++){
    `if(i % 4 === 0){
    continue;
    }
    console.log(i);
    }
    显示1235679 到4和8时跳过继续循环`
    

    6. void 0 和 undefined在使用场景上有什么区别?

    void 0 会返回undefined
    另外有时候undefined可以赋值
    

    相关文章

      网友评论

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

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