JavaScript-3.0-数据类型

数据类型

在计算机中,不同的数据所需的空间不同,为了便于把数据分成所需内存大小的不同数据,充分利用存储空间,于是定义了不同的数据了类型。
比如说:
字符串类型与数字类型便需要不同的存储空间。

由于 js 属于一种弱类型或者说是动态语言,这意味着不需要提前声明变量类型,在运行的过程中会自动判断数据类型,所以通常我们只需要定义变量就可以存储各种类型的值。

js 的数据类型是只有程序在运行过程中,根据等号右边的值来确定的
由于 js 是动态的语言,所以变量的数据类型是可以改变的。

  • 定义变量:
var x = 10; //x是数字型
x = "dsaf"; //x是字符串型

数据类型分类

  • 简单数据类型
  • 复杂数据类型

简单数据类型

Number:数字型

包含整数跟小数,默认为 0;

  • 八进制:在前面加 0:01 就是八进制的 1;

  • 十六进制,数字前面加 0x,0x9 就是十六进制的 9

  • 数字型的最大值:Number.MAX—_VALUE;

  • 数字中的最小值:Number.MIN_VALUE;

  • 无穷大:infinity;

  • 无穷小:-infinity;

  • 非数字:NaN,代表不是数字,无法进行数学运算。

  • boolean:布尔类型,默认为 false;

  • 关于数字方法
    isNaN():用来判断非数字,并且返回值,如果是数字,返回 false,不是数字则返回 true。

字符串型 String

被引号括起来的就是字符串类型。

var str = "我是字符串";

字符串虽然是简单数据类型,但是它是一种不可变数据类型,这个在后面章节中会细说。

引号嵌套时外双内单或者外单内双。

var ad = '我是一个"SB",不接受反驳';
  • 字符串转义符:
    都是用反斜杠开头,但是转义字符要在引号里面。详细的转义字符种类参考:菜鸟教程转义字符

这里列举几个常用的。

\n:换行
\\:斜杠\
\':单引号'
\":双引号"
\t:tab缩进
\b:空格

  • 字符串方法:
    • str.length:获取字符串的长度;
    • 字符串拼接:""+""+str;当拼接中有字符串,则结果一定是字符串。拼接字符串也有方法,但是常用“+”来拼接,后文会会讲。

布尔类型

这个十分简单,就两种
true,false
在加法运算中,true 做 1,false 做 0;

Undefined

声明变量后没有赋值,则是 underfunded;表示没有定义。

null

表示空值,在 js 中,如果用 typeOf 来查看 null 的属性,会发现实际上 null 是一个 object 类,也就是对象类,所以通常我们会用 null 来创建一个空对象占位

console.log(null + "ss"); //输出nullss
console.log(null + 1); //输出1;

复杂数据类型

复杂数据类型实际上就是通过 new 创捷的对象,例如数组之类的,这一块在数组以及对象中会详细讲解。

获取变量数据的类型

  • typeof var,返回结果为数据类型
var age = prompt("请输入年龄");
console.log(typeof age); //结果是String
//通过typeof获取prompt获得的数据,结果是字符型
  • 在控制台中,字体的颜色是黑色时,表示这个值是一个字符串类型。蓝色则代表是数字型

字面量

字面量是在源代码中一个固定值的表示方法,通俗来讲,就是字面量表示如何表达这个值。

  • 数字字面量:8,9,10
  • 字符串字面量:"喝茶谢谢","正常人"
  • 布尔字面量:false , true

数据类型转换

字符串:

  • var.toString()
  • String()
  • “+”拼接字符串
var str = "123"
str.toString();//结果是123;
String(str);//强制转换

数字型

  • parseInt(String)可以把字符串转化为整数,转化的结果是一个取整的,同时会自动去掉单位。
  • parseFloat(String) 可以把字符型转化为数值型,可以保留小数,同时会自动去掉单位。
  • Number(String) 强制转换,将字符串转化为数字型
  • 利用算术运算/,*,-,来进行隐式转换'123'-'111';

转换为布尔型

  • Boolean(),0,空的,否定的,一律转化为 false,其余全部都是 true,例如:0,NaN,undefined,null
posted @ 2022-06-21 10:29  喝茶谢谢  阅读(48)  评论(0编辑  收藏  举报