JS中的数据类型以及转换

JS中的数据类型

一、数据类型概述

在了解数据类型的时候不知道大家有没有想过,
为什么需要区分数据类型:

答:为了更加合理使用内存空间,基本上所有的编程语言中都提出数据类型的概念,研究针对不同的数据,分配不同的空间。

js的数据类型有几种呢?

一般情况下大家都习惯把数据类型分为如下两大类:(其部分数据种类如下)

  • 基本数据的类型:
    number 数字 var a = 110; int a = 110;
    string 字符串 使用”“ ‘’包起来 JS中不分字符和字符串 都叫字符串
    boolean true false 布尔类型
    undefiend 没有定义值为何种类型
    null 值为空
  • var a=null
  • 引用数据类型:
    object 对象
    array 数组
    function 函数 在JS中函数也是一种数据类型

二、JS中的数据类型详述

1、基本数据类型

1)number数据类型
  • 1)number是一个数据类型,这个数据类型对应的值有无+ 个。
  • 2)在JS中number数据类型是不分整数和小数 都是number
  • 3)可以通过typeof查看一个变量值的数据类型
    var c=3;console.log(typeof(c))
  • 4)最大值 (使用number.max_value查看) 和 最小值(使用 number.min_value查看)
    console.log(Number.MAX_VALUE);console.log(Number.MIN_VALUE)
  • 5)number可以通过不同进制显示
    进制 10进制 2进制(以0b开头) 16进制(以0x开头) 8进制(以00开头)
  • 6)NaN Not a Number 不是一个数字
  • 7)JS中不要对小数运算,要运算需要先转成整数,不然得到的结果往往不对。

在JS中,说到数据类型,主要指变量值的数据类型。

typeof是运算符 + - * / 都是运算符

Number叫类,也叫构造器,也叫函数

2)string数据类型
  • 1、js中string的书写要点:

1)在JS中 使用‘’ “”把字符串包起来 不包 JS会给它当成变量
2)单引号不要嵌套单引号 双引号不要嵌套双引号 外单内双 外双内单

  • 2、string数据类型对应的数据有无数个
  • 3、 SyntaxError表示语法错误
3)boolean数据类型
  • 1)boolean数据类型对应的值就两个 true false
  • 2)true 和 True 不一样的 JS是区分大小写的

用法例如var b = true;console.log(b);console.log(typeof b);

4)undefined数据类型
1)undefiend是一个数据类型,这种数据类型对应的值是undefiend
2)什么时候会出现undeined?
    答:一个变量没有赋值  它的值是undefiend  这个值的类型是undefiend

eg:var a;console.log(a); console.log(typeof a);

三、JS中的数据类型转化

1)数据类型转化方式:
  • 隐式类型转化:静悄悄地,不知不觉地就进行了类型转化
  • 强制类型转化:写代码进行转化

在JS中,下面的值可以转成false,其它值都转成true:

0 -0
“”
undefiend
null
NaN

  • 前提:在JS中,运算符两侧需要保存数据类型一致,如果不一致,JS解释器会帮你把一个数据类型转成另一个数据类型。
1、隐式类型转化
  • 叫运算符 123操作数 "abc"也叫操作数
    一个运算符如果有两个操作数,这个运算符叫二元运算符,也叫二目运算符,还叫双目运算符
    常见的双目运算符有:+ - =
  • 如果一个运算符只有一个操作数,这个运算符叫一元,单目运算符
    常见的有:typeof ++ --
  • if后面的小()里面要么放true 要么放false

if后面小()里面放了一非布尔类型的值,会进行隐式类型转化

console.log(String(123456))  // 123456*/
2、强制类型转化
console.log(parseInt(3.14)); // 把小数转成整数
console.log(parseInt("3.14abc")); // 尝试把小数或非数字转成整数
console.log(parseFloat(3))
console.log(parseFloat("3.14abc"))
console.log(Number("abc123"))  // NaN
console.log(Number("123abc"))  // NaN
console.log(Number("123"))  // 123
console.log(String(123456))  // 123456*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值