JavaScript中的数据类型

本文详细介绍了JavaScript中的六种主要数据类型(包括undefined、布尔、数字、字符串、对象和函数),以及typeof运算符的应用、特殊值NaN和Infinity的概念,以及数据类型的隐式转换和强制转换方法,如parseInt和parseFloat。
摘要由CSDN通过智能技术生成

js中的数据类型有六种:

1.undefined-未定义类型:未被赋值的变量,值为undefined

let number;//此时number就是undefined类型

2.boolear"布尔类型:值为tue/false

let bo1 = true;
let bo2 = false;
//当变量被赋予true,false值时则为布尔类型

3.number-数字类型:任何数字(NaN也是number类型,表示“非数”)

let a = 3;
let b = 4;
let c = 5.5;
let d = a / b;//打印结果为0.75

注意:因为JavaScript中不存在类似C语言中的整型除法不存在整型和浮点型,因此在JavaScript中10/3=3.3333333

4.string-字符串类型:值用引号(单引号或者双引号)括起来

let str1 = 'hello world';
let str2 = "hello world";

5.object-对象类型:null数组Date等(date是js内置的对象)

console.log(new Date());//输出的内容为当前的国际标准时间

6.function-函数类型:function函数

//方法一:
function asy(){

}
//方法二
let asy = function (){

}
//函数的调用
asy();

相关运算

typeof运算符

typeof运算符可以用来获取目标变量的数据类型

let num;
console.log(typeof num);//返回undefinedv
num = 10;
console.log(typeof num);//返回number
num = 'abc';
console.log(typeof num);//返回string
num = true;
console.log(typeof num);//返回boolean
num = function (){}
console.log(typeof num);//返回function
num = []//数组v
console.log(typeof num);//返回object
num = null;
console.log(typeof num);//返回object
num = new.Date();
console.log(typeof num);//返回object

特殊值NaN

NaN:即非数值(Not a Number),是一个特殊的值

将一个其他的数据类型转化为数字时,若转化失败则会返回特殊值NaN

parseInt是一个内置函数,可以直接拿来用,功能:将内容为数字的字符串转化为整数

当字符串中第一个元素为字符或没有元素为数字时,返回NaN

当字符串中间元素为字符时,返回的值为从第一个元素的数字到第一个字符元素之前的数字

//parseInt是一个内置函数,可以直接拿来用,功能:将内容为数字的字符串转化为整数
let a = '123'
console.log(parseInt(a));//打印结果为123
a = 'abc'
console.log(parseInt(a));//打印结果为NaN
a = '123a'
console.log(parseInt(a));//打印结果为123
a = '1a23'
console.log(parseInt(a));//打印结果为1
a = 'a123'
console.log(parseInt(a));//打印结果为NaN
a = '20.2'
console.log(parseInt(a));//打印结果为20

NaN和任何数据进⾏运算结果仍然是NaN

因此,想要判断⼀个变量是不是NaN时,不能使⽤这种形式:a==NaN,⽽要使⽤isNaN()函数

isNaN()函数在接收到⼀个值之后,会尝试将这个值转换为数值,如果可以转就返回false:(被转换的对象只要中间有一个字母,则其无法转化为数字)

特殊值Infinity

Infinity即无穷,是⼀个特殊的值

console.log(10/0);//打印的结果为Infinity

出现这两种特殊值的原因是JS处理异常的能力很弱,因此JS有时在出现问题的时候有时不进行报错,而是传回一个特殊值

JS中的运算符

运算符优先级
算数运算符++   --   *  /   %   +   -
比较运算符<  <=  >  >=  ==  !=  ===  !==
逻辑运算符!  &&  ||
赋值运算符=  +=  -=  *=  /=

==与===

== 相等运算符:运行时: “==”操作符会⾃动将两端的操作数转换为同⼀种数据类型后再作⽐较

=== 严格相等(等同运算符 ): “===”是严格意义上的相等,两个值和它们的类型完全⼀致时才返回true。

console.log(1=='1');//true
console.log(1==='1');//false

js中的数据类型转换

隐式转换:减、乘、除可自动进行隐式转换.(与C语言中的整型提升相似)

let num1 = '10';
let num2 = '5';
console.log(num1-num2)   //5
console.log(num1*num2)   //50
console.log(num1/num2)   //2

强制转换

parseInt()将字符串转换成整数

parseFloat()将字符串转换成浮点数

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值