JavaScript数据类型

本文详细介绍了JavaScript中的数据类型,包括数据类型的重要性,变量的数据类型动态性,以及简单数据类型(Number、String、Boolean、Undefined和Null)的特点和操作。重点讲解了数值型转换、字符串处理和布尔值转换的方法。
摘要由CSDN通过智能技术生成

1.数据类型简介

1.为什么需要数据类型

在计算机中,不同数据类型的数据所占内存空间是不同的,为了把数据分成内存大小不同的数据,更好的利用内存空间,因此给数据划分不同的数据类型

例如姓名“张三”,年龄18。

2.变量的数据类型

内存中,JavaScript是一种弱类型或者说动态语言。这意味着不提前声明变量的类型,在程序运行过程中,类型会被自动确认。

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

在代码运行过程中,变量的数据类型是由=右边变量值的数据类型来判断的,运行完毕后,变量就确定了数据类型。

 JavaScript拥有动态数据类型,这意味着相同的变量可以用作不同的类型。

var num=123;//num为数字
var num='123'//num为字符串

3.数据类型的分类 

JS把数据类型分为两类

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

2.简单数据类型

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

简单数据类型说明默认值
Number数字型,包含整形和浮点型,例21,0.210
Boolean布尔值类型,如true,false 等价于1和0falae
String字符串类型,如''李四'',"dly"'' ''
Undefinedvar a;声明了变量,但是没有赋值a=undefinedundefined
Nullvar a=null;声明了变量a 为空值null

 1.Number(数字型)

JS数字型既可以存整数,也可以存小数

 var num=123;//整数
 var num=12.3;//小数

数字型进制:二进制 八进制 十进制 十六进制

//数字型进制
        /* 八进制 0~7 数字前面加一个0就表示八进制 */
        var ba=012;//8进制转换成10进制10
        var num1=010;//8进制转换成10进制8
        console.log(ba);
        console.log(num1);
        /* 十六进制 数字前面加上0x就表示十六进制0~9 a~f */
         var num2=0xa;//16进制转换成10进制10
         var num3=0xf;//16进制转换成10进制15
         console.log(num2);
         console.log(num3);

数字型最大值(最小值): 

/* 数字型最大值 */
console.log(Number.MAX_VALUE);
/* 数字型最小值 */
console.log(Number.MIN_VALUE);

无穷大,无穷小,非数字:

 /* 无穷大 */
 console.log(Number.MAX_VALUE*2);//Infinity
 /* 无穷小 */
console.log(-Number.MAX_VALUE*2);//-Infinity
 /* 非数字 */
 console.log('dly'-100);//NaN

isNan()方法判断变量是不是非数字,如果是数字,返回一个布尔值false,如果不是数字,返回一个布尔值true。

console.log(isNaN(123));//false
console.log(isNaN('dly'));//true

2.String (字符串类型)

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

var str1='我是一个"高富帅"'
var str2="我是一个'高富帅'"

 字符串转义符:

转义符解释说明
\n换行符,n是newline的意思
\\斜杠\
\'' 单引号
\"" 双引号
\ttab 缩进
\b空格,b是blank的意思
console.log('我是一个\n"高富帅"');//换行
console.log('我是一个\b"高富帅"');//空格        
console.log('我是一个\t"高富帅"');//缩进     

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        alert('梦想洋溢着快乐,青春包裹着梦想。\n我的青春,我的花季雨季,都是属于我自己的,只有我才可以去操控它。\n我的青春只有我才可以做主!')
    </script>
</head>
<body>
    
</body>
</html>

运行结果:

 字符串长度(length属性):

/* 检测字符串的长度 */
var str="my name is dly"//算上空格一共长度是14
console.log(str.length);

拼接字符串:

字符串+任何类型=新的字符串 

 /* 字符串拼接 */
console.log('dly'+'真帅');//dly真帅
console.log('dly'+'12');//dly12
console.log('dly'+12);//dly12
console.log(12+12);//24
console.log('12'+12);//1212

 字符串拼接加强:

/* 字符串拼接加强 */
console.log('dly'+18+'岁')//dly18岁
var age =18;
console.log('dly'+age+'岁');//dly18岁

 经常会将字符串和变量来拼接,因为变量可以很方便的修改里面的值

变量是不能添加引号的,因为引号的变量会变成字符串

如果变量两侧都有字符串进行拼接,口诀“引引加加”,删掉数字,变量写加号中间

3.Boolean(布尔值类型) 

var flag1=false;//布尔值false 相当于0
var flag2=true;//布尔值true 相当于1
/* 布尔值类型参与数字运算 */
console.log(flag1+1);//1
console.log(flag2+1);//2

 4.Undefined和Null

// 如果一个变量声明未赋值 就是 undefined 未定义数据类型
var str;
console.log(str);
var variable = undefined;
console.log(variable + 'dly'); // undefineddly undefined 和数字相加 最后的结果是新字符串 
NaNconsole.log(variable + 1); // NaN// null 空值
var space = null;
console.log(space + 'dly'); // nulldly
console.log(space + 1); // 1

3.获取变量数据类型

typeof方法

var num=10;
var t= typeof num;//number
console.log(t);
var str='dly'
console.log(typeof str);//string
var bl=true;
console.log(typeof bl)//boolean

注意(prompt键盘输入的是字符串类型):

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

4.数据类型转换

1.什么是数据类型转换

使用表单、promapt获取过来的数据默认是字符串类型的,此时不能能进行简单的加法运算而需要转换变量的数据类型,通俗来说就是把一种数据类型的变量转换成另外一种数据类型。

通常会实现三种方式的转换  

  • 转换成字符串类型
  • 转换成数字类型
  • 转换成布尔型 

1.转换成字符串

方式说明案例
toString()转换成字符串var num=1;alert(num.toString());
String()强制转换转换成字符串var num=1;alert(String(num));
加号拼接字符串和字符串拼接的结果都是字符串var num=1;alert(num1+"dly")
/* 转换成字符串 */
//1.toString()方法
var num=1;
console.log(typeof num.toString())
//2.强制类型转换
console.log(typeof String(num));
//3.通过字符串拼接
console.log(typeof (num+"1"));

 2.转换成数字类型(重点)

方式说明案例
parselnt(string)函数将string类型转换成整数数值型parselnt('50');
parseFloat(string)将string类型转换成浮点数数值型parseFolat('50.21');
Number()强制转换将string类型转换成数值型Number('50');
js隐式转换(- * /)利用算数运算隐式转换成数值型 '50'-0;
 /* 转换成数值型 */
var num1='50'
//1.parseInt()
console.log(typeof parseInt(num1));
//2.parseFolat()
var num2='50.21'
console.log(typeof parseFloat(num2));
//3.Number()强制类型转换
console.log(Number(num1));
//4.(- * /)隐式转换
console.log( typeof (num1/2));
console.log( typeof (num1*2));
console.log( typeof (num1-2));

 注意parseInt和parseFolat单词的大小写

3.转换成布尔型 

方式说明案例
Boolean()函数其他类型转换成布尔值Boolean('true');
  • 代表空、否定值会被转换成 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('dly'));//true
console.log(Boolean(12));//true

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值