JavaScript——数据类型

简介: 在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。简单来说,数据类型就是数据的类别符号。比如姓名”张三“,年龄18,这些的数据类型是不一样的。变量的数据类型Javascript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。var age = 10; //这是一个数字型var areYouOK = '是的' //这是一个字符串js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的。var x = 10; //x是数字型x

在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。

简单来说,数据类型就是数据的类别符号。比如姓名”张三“,年龄18,这些的数据类型是不一样的。

变量的数据类型

Javascript是一种弱类型或者说动态语言。

这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。

var age = 10; //这是一个数字型
var areYouOK = '是的' //这是一个字符串

js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的。

var x = 10; //x是数字型
x = 'zeyi'; //x是字符串型

js是动态语言,变量的数据类型是可以变化的。

数据类型的分类

JS把数据类型分为两类:

  • 简单数据类型(Number、String、Boolean、Undefined、Null)
  • 复杂数据类型(object)

简单数据类型(基本数据类型)

简单数据类型 说明 默认值
Number 数字型,包含整型值和浮点型值,如21、0.21 0
Boolean 布尔值类型,如true、false,等价于1和0 false
String 字符串类型,如"张三",注意在js里面,字符串都带引号 ""
Undefined var a;声明了变量a但是没有给值,此时a=undefined undefined
Null var a = null;声明了变量a为空值 null

数字型:Number

Javascript数字类型既可以用来保存整数值,也可以保存小数(浮点数)。

var age = 21;  //整数
var Age = 21.3747;  //小数
数字型进制:

最常见的进制有二进制、八进制、十进制、十六进制。

//1.八进制数字序列范围:0~7  
//数字前面加0表示八进制
var num1 = 07; //对应十进制的7
var num2 = 019; //对应十进制的10
var num3 = 08;  //对应十进制的8
//2.十六进制数字序列范围:0~9以及A~F
//数字前面加0x表示十六进制
var num = 0xA;

注意:在js中,八进制前面加0,十六禁止前面加0x。

数字型范围:

JavaScript中数值的最大值和最小值

alert(Number.MAX_VALUE);//1.7976931348623157e+308
alert(Number.MIN_VALUE);//5e-324
数字型三个特殊值:

Infinity:代表无穷大,大于任何值

-Infinity:代表无穷小,小于任何值

NaN:Not a Number,代表一个非数值

isNaN()

用来判断非数字,并且返回一个值.

如果是数字返回的是false,如果不是数字返回的是true。

字符串型:String

字符串型可以是引号中的任意文本,其语法为双引号 ""和单引号 ''

var strMsg = "岳泽以"; // 使用双引号表示字符串
var strMsg2 = '猫宁';  //使用单引号表示字符串
//常见错误
var strMsg3 = 个人网站; //报错,没没用引好,会被认为是js代码,但js没这些语法

因为HTML标签里面的属性使用的是双引号,JS这里我们更推荐使用单引号

字符串引号嵌套

JS可以使用单引号嵌套双引号,或者使用双引号嵌套单引号(外双内单,外单内双

var strMsg = '这是"岳泽以"的个人博客';
var strMsg = "这是'岳泽以'的个人博客";
//常见错误
var strMsg = '岳泽以"; //报错,不能单双引号混合搭配
字符串转义符

类似HTML里面的特殊字符,字符串中也有特殊字符--转义符

转义符都是 \开头的,常用转义符及说明:

转义符 解释说明
\n 换行符,n是newline的意思
\\ 斜杠\
\' ‘ 单引号
\" "双引号
\t tab缩进
\b 空格,b是blank的意思

布尔型:Boolean

true:表示真(对)——1

false:表示假(错)——0

var flag = true; //flag 布尔型
var flag1 = true; //flag1 布尔型
console.log(flag+1);// true参与加法运算当1来看
console.log(flag1+1);// flase参与加法运算当0来看

布尔型和数字型相加的时候,true的值为1,false的值为0。

Undefined和Null

如果一个变量声明未赋值,会有一个默认值Undefined(如果进行相连或者相加时,注意结果)

var variable;
    console.log(variable); //undefined
    console.log('你好' + variable); //你好undefined
    console.log(11 + variable); //NaN
    console.log(true + variable); //NaN

一个声明变量给null值,里面存的值为空。

var variable;
    variable = null;
    console.log('你好' + variable); //你好null
    console.log(11 + variable); //11
    console.log(true + variable); //1

获取变量的数据类型

typeof关键字

var num = 10;
    console.log(typeof num); //number
    var str = 'zeyi';
    console.log(typeof str); //string
    var flag = true;
    console.log(typeof flag); //boolean
    var vari = undefined;
    console.log(typeof vari); //undefined
    var timer = null;
    console.log(typeof timer); //object

prompt 取过来的值为字符型(string)

var age = prompt('请输入您的年龄');
console.log(age);
console.log(typeof age);

字面量

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

  • 数字字面量:8,9,10——蓝色
  • 字符字面量:'岳泽以',"个人博客"——黑色
  • 布尔字面量:true,false——深影蓝色

数据类型的转换

使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。

通俗来说,就是把一种数据类型的变量转换成另外一种数据类型

隐式转换

某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换方式为隐式转换。

规则:

  • +号两边只要有一个是字符串,都会把另外一个转成字符串。
  • 除了+以外的算术运算符 比如- * / 等都会把数据转成数字类型。
console.log(11 + 11);
    console.log('11' + 11);
    console.log(11 - 11);
    console.log('11' - 11);
    console.log(1 * 1);
    console.log('1' * 1);
    console.log(typeof '123');
    console.log(typeof + '123');
    console.log(+'11' + 11);

网络异常,图片无法展示
|

:+号作为正号解析可以转换成Number

显式转换

编写程序时过于依靠系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。

为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显式转换,即通过自己写代码来告诉系统该转换成什么类型。

把数字型转换成字符串型

1.toString()

var num = 10;
var str = num.toString();

2.利用String(变量)

var num = 10;
console.log(String(num));

转换为数字型(重点)

1.parseInt(变量)

可以把字符型转换为数字型,得到的是整数。

var age = prompt('输入年龄');
    console.log(parseInt(age));
    console.log(parseInt('120px')); //会去掉px
    console.log(parseInt('rem120px')); //NaN

2.parseFloat(变量)

可以把字符型转换为数字型,得到的是浮点数。

console.log(parseFloat('3.14')); //3.14
    console.log(parseFloat('120px')); //会去掉px
    console.log(parseFloat('rem120px')); //NaN

3.利用Number(变量)

var str='123';
    console.log(Number(str));
    console.log(Number('12');

转换成布尔型

方式:Boolean()函数

  • 代表空、否定的值会被转换成 false,如''、0、NaN、null、undefined
  • 其余值都会被转换成 true
console.log(Boolean(''));//false
    console.log(Boolean(0));//false
    console.log(Boolean(NaN));//false
    console.log(Boolean(null));//false
    console.log(Boolean(undefined));//false
    console.log(Boolean('123'));//true
    console.log(Boolean('xxx'));//true


相关文章
|
2月前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
136 59
|
3月前
|
JavaScript
js基础数据类型
js基础数据类型
29 1
|
18天前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
38 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
30天前
|
JavaScript 前端开发 开发者
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
19 1
|
19天前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
14 0
|
2月前
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
38 2
|
2月前
|
JavaScript 前端开发
JavaScript基础知识-基本数据类型和引用数据类型
关于JavaScript基础知识的文章,主要介绍了基本数据类型和引用数据类型。
38 2
JavaScript基础知识-基本数据类型和引用数据类型
|
3月前
|
JavaScript 前端开发
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
这篇文章是JavaScript基础与实战教程的第一部分,涵盖了JavaScript的基本语法、标识符、数据类型以及如何进行强制类型转换,通过代码示例介绍了JS的输出语句、编写位置和数据类型转换方法。
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
|
3月前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
293 1
|
3月前
|
JavaScript 前端开发
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
58 2