JavaScript 之 核心语法 [ 数据类型 ]

数据类型

数据类型 – 表示数值的类型

类型的分类

原始类型

number类型(数字类型)

  • number类型分为整数和浮点数
  • 整数 – 正整数 、0 、负整数
/* 变量为数字类型 - 整数 */
var num1 = 1001;
console.log( num1 );// 显示:1001
  • 浮点数 – 小数
/* 变量为数字类型 - 浮点数 */
var num2 = 10.01;
console.log( num2 );// 显示:10.01
  • 浮点数在小数点前面如果 没有数字,会被默认为在小数点前的数字为 0

    • 比如:“.1” 会显示 “0.1”
/* 浮点数的类型 */
var num3 = .1;
console.log( num3 );// 显示:0.1
  • 浮点数在小数点后面如果 没有数字 或 数字只有 0 ,会被默认为没有小数

    • 比如:“1.” 会显示 “1” 或 “1.0” 会显示 “1”
/* 浮点数的类型 */
var num4 = 1.0;
console.log( num4 );// 显示:1
  • 浮点数在进行计算时可能会出现误差

    • 解决方法:可以先将小数转成整数计算,再将结果转回小数
/* 浮点数的计算 */
var num5 = 0.7, num6 = 0.3;
console.log( num5 - num6 );// 显示:0.39999999999999997
/* 解决方法 */
console.log( (num5*10 - num6*10)/10 );// 显示:0.4
  • number类型中的特殊值 – NaN

    • NaN – 表示当前的值不是一个数字
    • NaN依旧是number类型
/* number类型的特殊值 - NaN */
var num7 = Number( '啊哈哈哈' );// 将一个文本内容转换成number类型
console.log( num7 );// 显示:NaN - 表示当前的值不是一个数字值
  • NaN与任何值都不相等,包括它本身
console.log( 10 == 10 );// 显示:true - 表示相等
console.log( 10 == NaN );// 显示:false - 表示不相等
console.log( NaN == NaN );// 显示:false - 表示不相等
  • number类型中的特殊值 – Infinity -> 表示无穷大

    • 当数字值进行计算 0 做为被除数时,会得到 无穷大
/* 数字值进行计算 */
var num8 = 10/0;
console.log( num8 );// 显示:Infinity

string类型(字符串类型)

  • 字符串 – 表示以单引号或双引号包裹的字符
  • 字符串中的字符可以是 汉字 、字母 、 数字
/* 定义变量 - string类型 */
var str1 = '苍天呐';// 汉字值
console.log( str1 );// 显示:苍天呐

var str2 = "wodetianna";// 字母值
console.log( str2 );// 显示:wodetianna

var str3 = '100';// 数字值
console.log( str3 );// 显示:100

boolean类型(布尔类型)

  • 布尔类型只有两个值

    • true – 是 、真
    • false – 否 、假
/* 定义变量 - boolean类型 */
var boo1 = true;
console.log( boo1 );// 显示:true
var boo2 = false;
console.log( boo2 );// 显示:false

undefined类型

  • undefined类型 – 表示变量的值为空
  • 当变量的值等于undefined时 – 表示变量存在,但是没有值
  • 得到undefined的情况

    • 在只定义变量,但不赋值的情况下会得到
    • 在定义变量时,值就为undefined会得到
/* 定义变量,但不赋值 */
var unde1;
console.log( unde1 );// 显示:undefined

/* 定义变量并赋值为undefined */
var unde2 = undefined;
console.log( unde2 );// 显示:undefined

/* undefined类型为 - 原始类型 */
console.log( typeof unde1 );// 显示:undefined

null类型

  • null类型 – 表示为空的含义

    • 该类型只有一个值 – null
    • 作用 – 将定义的变量从内存中释放
    • 用法 – 将null赋值给指定变量
/* null用法 */
var nu = null;
console.log( nu );// 显示:null

/* null类型为原始类型 */
console.log( typeof nu);//显示:object -> 历史遗留问题

typeof运算符

  • typeof运算符 – 表示对原始类型进行判断

    • typeof运算符只能对原始类型进行判断
    • 语法:typeof 变量名称
    • 结果:类型名称
/* 判断number类型 */
var num = 10;
console.log( typeof num );// 显示:number

/* 判断string类型 */
var str = '啊哈哈';
console.log( typeof str );// 显示:string

/* 判断boolean类型 */
var boo = true;
console.log( typeof boo );// 显示:boolean

引入类型

Numder类型

  • Number类型 – 表示与原始类型中的number类型相匹配的引用类型

    • 语法:var 变量名称 = new Number( ) ;
    • new Number( )(构造函数方式) – 创建一个number类型的对象
/* 构建函数方式 - 类型名数字母大写 */
var num = new Number( 100 );
console.log( num );// 显示:[Number: 100]

String类型

  • String类型 – 表示与原始类型中的string类型相匹配的引用类型

    • 语法:var 变量名称 = new String( ) ;
    • new String( )(构造函数方式) – 创建一个string类型的对象
/* 构建函数方式 - 类型名数字母大写 */
var str = new String( '啊哈哈' );
console.log( str );// 显示:[String: '啊哈哈']

Boolean类型

  • Boolean类型 – 表示与原始类型中的boolean类型相匹配的引用类型

    • 语法:var 变量名称 = new Boolean( ) ;
    • new Boolean( )(构造函数方式) – 创建一个boolean类型的对象
/* 构建函数方式 - 类型名数字母大写 */
var boo = new Boolean( true );
console.log( boo );// 显示:[Boolean: true]

instanceof运算符

  • instanceof运算符 – 表示对引用类型进行判断

    • instanceof运算符只能对引用类型进行判断
    • 语法:变量名称 instanceof 引用类型名称
    • 结果:布尔类型值(true或false)
/* 判断Number类型 */
var num = new Number( 100 );
console.log( num instanceof Number );// 显示:true

/* 判断String类型 */
var str = new String( '啊哈哈' );
console.log( str instanceof String );// 显示:true

/* 判断Boolean类型 */
var boo = new Boolean( true );
console.log( boo instanceof Boolean );// 显示:true
    原文作者:蔡志远
    原文地址: https://segmentfault.com/a/1190000015909195
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞