Javascript基本概念之数据类型

博主近期在看《Javascript高程(第三版)》,总结一些自己不很了解的知识点

typeof类型

  • typeof 是一个操作符而不是函数

Undefinded类型

var message;//这个变量声明之后默认取得了undefined//age这个变量并没有声明
//var age;
alert(message);//"undefined"
alert(age);//产生错误

//对未初始化的变量执行typeof操作符会返回undefined值,而对未声明的变量执行typeof操作符同样也会返回undefined值。

alert(typeof message);//"undefined"
alert(typeof age);//"undefined"

//总结:对未初始化和未声明的变量执行typeof操作符都返回了undefined值;

Null类型

  • 如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值
  • undefined值是派生自null值的

Boolean类型

  • Boolean类型的字面值true和false是区分大小写的。True和False只是标识符

Number类型

  • 使用IEEE754格式来表示整数和浮点数值
  • 八进制(0开头)字面量在严格模式下是无效的


    -浮点数值

    • 保存浮点数值需要的内存空间是保存整数数值的两倍
    • 浮点数值最高精度是17位小数
      //例如:0.1+0.2的结果不是0.3,而是0.30000000000000004;
      console.log(0.1+0.2==0.3);//false

    -数值范围

    • 最小数值:Number.MIN_VALUE
    • 最大数值:Number.MAX_VALUE
    • isFinite():确定一个数值是不是位于最小值和最大值之间

    -NaN(非数值)

    • 任何涉及NaN的操作都会返回NaN
    • NaN与任何值都不相等,包括自身
    • isNaN():在接收一个值后,会尝试将这个值转化为数值

    -数值转换

String类型

  • String():将任何类型的值转换为字符串


    -字符字面量
    字符字面量

    -字符串的特点

    • 字符串一旦创建,他们就不能改变
    • 改变字符串:1、销毁原来的字符串;2、用另一个包含数值的字符串填充该变量

    -转换为字符串

    • toString():返回字符串的一个副本
    • toString():通过传递技术,toString()可以返回以二进制、八进制、十六进制,乃至其他任意有效进制格式表示的字符串值

      var num = 10;
      alert(num.toString()); // "10"
      alert(num.toString(2)); // "1010"
      alert(num.toString(8)); // "12"
      alert(num.toString(10)); // "10"
      alert(num.toString(16)); // "a"
    • 转型函数String()转换规则

      • 如果值有toString()方法,则调用该方法(没有参数)并返回相应的结果
      • 如果值是null,则返回null
      • 如果值是undefined,则返回undefined
        var value1 = 10;
        var value2 = true;
        var value3 = null;
        var value4;
        alert(String(value1)); //"10"
        alert(String(value2)); //"true"
        alert(String(value3)); //"null"
        alert(String(value4)); //"undefined"

Object类型

  • 对象是一组数据和功能的集合
  • 对象通过执行new操作符
var o = new Object();
  • Object的每个实例都具有下列属性和方法
    • constructor:保存着用于创建当前对象的函数
    • hasOwnProperty(propertyName):检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中propertyName必须以字符串形式指定
    • isPrototypeOf(object):检查传入的对象是否是当前对象的原型
    • propertyIsEnumerable(propertyName):检查给定的属性是否能够使用for-in语句来枚举。其中propertyName必须以字符串形式指定
    • toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应
    • toString():返回对象的字符串表示
    • valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同

猜你喜欢

转载自blog.csdn.net/qq_22227087/article/details/58006373