第二节 数据类型1-Undefined/Null/Boolean

  1. JS的5种简单数据类型分别是?
    答:Undefined/Null/Boolean/Number/String,此外还有一种复杂数据类型-Object(本质是由一组无序的键值对组成)
  2. typeof的作用是?
    答:负责检测给定变量的数据类型,使用方式为:

    var message = "aaa";
    console.log(typeof message); //"string"
    console.log(typeof(message));//"string"
    

    返回值一个字符串,可能的返回结果包括

    • "undefined" - 给定值未定义
    • "boolean" - 给定值为布尔值
    • "string" - 给定值为字符串
    • "number" - 给定值为数值
    • "object" - 给定值是对象或null
    • "function" - 给定值是函数

    这里有个很奇怪的地方,可以对未声明的变量使用typeof判断类型,此时不会报错,会返回undefined

  3. 什么是Undefined类型?
    答:Undefeined类型只有一个值-undefined。使用var声明变量但未对其进行定义时,该变量的值即为undefined。此外,显式将变量定义为undefeined(var b = undefined)是没有必要的,这么做和直接定义一个变量(var a)是一样的效果。例:
    var a;
    console.log(a == undefined);    //true
    console.log(a);                 //undefined
    console.log(typeof a)           //undefined
    var b = undefined;
    console.log(a == b)             //true
    
  4. 什么是Null类型?
    答:Null类型是第二个只有一个值的数据类型,其值为null。从逻辑的角度看,null值表示一个空对象指针(所以typeof检测null值时会返回"object")
    var car = null;
    console.log(typeof car);
    
  5. Undefined和Null的关系?
    答:undefined派生自null值,因此以下代码会返回true
    console.log(null == undefined) //true
    
    undefined主要用于表明一个值尚未定义。null用于强调该值是的。
    只要意在保存对象的变量还没真正保存对象时,就应该明确的让该变量保存null
  6. 什么是Boolean类型?
    答:Boolean类型只有两个字面值(true/false)。True和False都不是Boolean值,只是标识符。
  7. 不同类型值间与Boolean的转换? 答:要将一个值转换为对应的Boolean,可以调用转型函数Boolean():
    var msg = "hello";
    var msg2Boolean = Boolean(msg); //true
    
数据类型 转为true的值 转为false的值
Boolean true false
String 任何非空字符串 ""(空字符串)
Number 任何非0数字(包括无穷大) 0和NaN
Object 任何对象 null
Undefined 不适用 undefined

results matching ""

    No results matching ""