js数据类型详解

1.数据类型简介

1.1为什么需要数据类型

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

1.2变量的数据类型

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

        // var num ; 这里的num不确定属于哪种数据类型的
        var num = 10; //num属于数字型
        // js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的
        var str = 'hello' //str字符串类型
        // js是动态语言,变量的数据类型是可以变化的
        var x = 10; //x是数字型
        x = 'hello' //x 是字符串型

1.3数据类型的分类

js把数据类型分为两类

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

2.简单数据类型

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

简单数据类型说明
Number数字型,包含整型值和浮点型值,默认值为0
Boolean布尔值类型,如true、false,等价于1和0,默认值false
String字符串类型,用引号括起来
Undefinedvar a;声明了变量a但是没有赋值,此时a = undefined
Nullvar a = null; 声明了变量a为空值

2.2数字型 Number

2.2.1整型、浮点型、八进制、十六进制、三个特殊值

        var num = 10;//num 数字型
        var PI = 3.14 //PI 数字型

        //1.八进制 0~7 程序里面 数字前面加上0 表示八进制
        var num1 = 010; // 8
        var num2 = 012; // 10
        //2.十六进制, 0 ~ 9 a ~ f 数字前面加0x 表示十六进制
        var num3 = 0x9; // 9
        var num4 = 0xa; // 10
        //3.数字型的最大值
        console.log(Number.MAX_VALUE);
        //3.数字型的最小值
        console.log(Number.MIN_VALUE);

        // 数字型的三个特殊值
        // Infinity,代表无穷大,大于任何数值
        // -Infinity,代表无穷小,小于任何数值
        // NaN , Not a number ,代表一个非数值
        
        console.log(Number.MAX_VALUE * 2); //Infinity 无穷大
        console.log(-Number.MAX_VALUE * 2); //-Infinity 无穷小
        console.log('hello' - 100); //NaN

2.2.2 isNaN()方法

isNaN()这个方法用来判断非数字 , 并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true

  // isNaN()这个方法用来判断非数字 , 并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true
        console.log(isNaN(12)); // false
        console.log(isNaN('hello')); // true

2.3字符串型 String

字符串型可以是引号中的任意文本,其语法为双引号和单引号,(推荐单引号)

var str = 'hello';
var str = "hello word"

1.可以用单引号嵌套双引号,或用双引号嵌套单引号(外双内单,外单内双)

var str = 'hello "world"';
var str = "hello 'word'"

2.字符串转义符
转义符都是\开头的,常用的转义符如下

转义符说明
\n换行符,n即newline
\斜杠 \
’ 单引号
"" 双引号
\ttab 缩进
\b空格,b是blank的意思

3.字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度,通过字符串的length属性可以获取整个字符串的长度。

 //1.检测获取字符串的长度length
      var str = "my name is allean";
      console.log(str.length); // 17

4.字符串拼接

  • 多个字符串之间可使用 + 进行拼接, 字符串 + 任何类型 = 拼接之后的新字符串
  • 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
    数值相加,字符相连
      //1.检测获取字符串的长度length
      var str = "my name is allean";
      console.log(str.length); // 17

      //2.字符串的拼接 +
      console.log("你好" + "js"); //字符串的 你好js
      console.log("你好" + 18); //'你好18'
      console.log("你好" + true); //你好true
      console.log(12 + 12); //24
      console.log("12" + 12); //'1212'
      console.log(12 + 1 + "你好"); //'13你好'
      console.log("你好" + 1 + 12); //'你好112'

5.字符串拼接加强
我们经常将字符串和变量来拼接,因为变量可以很方便的修改值
书写格式如下,不能用引号括起来,用+号相连

//与变量拼接
      var age = 18
      console.log('张三' + age + '岁');

2.4布尔型 Boolean

布尔型有两个值:true和false,true(真/对),false(假/错)

var flag = true;
        var flag1 = false;
        console.log(flag + 1); //2 true 参与加法运算当1来看
        console.log(flag1 + 1); //1 false 参与加法运算当1来看

2.5Undefined和Null

一个声明后没有被赋值的变量会有一个默认值undefined

 // 如果一个变量声明未赋值 就是undefined 未定义数据类型
        var str ;
        console.log(str);//undefined
        var variable = undefined;
        console.log(variable + 'hello');//字符串型 'variablehello'
        console.log(variable + 1); //NaN undefined和数字相加 结果是NaN

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

        //null 空值
        var space = null;
        console.log(space + 'hello'); //nullhello
        console.log(space + 1); //1

3.获取变量数据类型

3.1检测变量的数据类型

typeof可用来获取检测变量的数据类型

        var num = 10;
        console.log(typeof num); //number
        var str = 'hello';
        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取过来的值是字符型的
      var age = prompt("请输入您的年龄");
      console.log(typeof age); //string

4数据类型转换

将一种数据类型转换为另一种数据类型

  • 转换为字符串
  • 转化为数值
  • 转化为布尔型

4.1转换为字符串

方式说明
toString()转成字符串
String() 强制转换转成字符串
加号拼接字符串和字符串拼接的结果都是字符串 (隐式转换)
 //1.把数字型转化为字符串型 变量.toString()
      var num = 10;
      var str = num.toString();
      console.log(str);
      console.log(typeof str); //string
      //2.String()
      console.log(typeof String(num)); //string
      //3.利用 + 拼接字符串的方法实现转换效果
      console.log(num + " ");

4.2转换为数字型(重点)

方式说明
parseInt(string)将string类型转成整数数值型
parseInt(string)将string类型转成浮点数数值型
Number()强制转换函数将string类型转成数值型
js隐式转换(- * /)利用算术运算隐式转换为数值型
     //1.parseInt(变量)
      var age = prompt("请输入您的年龄");
      var age1 = parseInt(age);
      console.log(typeof age1); //number
      console.log(parseInt("3.14")); //3 取整
      console.log(parseInt("3.94")); //3 取整
      console.log(parseInt("120px")); //120 会去掉px单位
      console.log(parseInt("rem120px")); //NaN

      //2.parseFloat(变量)
      console.log(parseFloat("3.14")); //3.14
      console.log(parseFloat("120px")); //120 会去掉px单位
      console.log(parseFloat("rem120px")); //NaN

      //3.利用Number(变量)
      var str = "123";
      console.log(Number(str)); //数值123
      console.log(Number("12")); //数值12

      //4.利用算术运算 - * /  隐式转换
      console.log("12" - 0); //12
      console.log("12" * 1); //12
      console.log("12" / 1); //12

4.3转换为布尔型

方式说明
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('hello'));//true
      console.log(Boolean(11));//true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值