• JS中数据类型


    JS数据类型

    1.JS数据类型的介绍

    JavaScript中一共有5种基本数据类型和Object类型

    • 字符串(String
    • 数值型(Number
    • 布尔型(boolean
    • null
    • undefined型(Undefined

    上述的五种是基本数据类型

    Object类型是引用类型

    2.String 类型

    String字符串

    • JS中字符串需要使用引号起来
    • 使用双引号或单引号都可以,但是不要混着使用
    • 引号不能嵌套,双引号不能嵌套双引号[双引号可以嵌套单引号],单引号不能嵌套单引号[单引号可以嵌套双引号]
    DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>String类型title>
    head>
    <body>
    <script type="text/javascript">
      /**
       * 在JS中基本数据类型有五种,引用数据类型有Object
       *    - 五种数据类型有:
       *        - String
       *        - Number
       *        - Null
       *        - Boolean
       *        - Undefined
       *    - 引用数据类型
       *        - Object
       */
    
      // 字符串基本介绍
    
      /*
       * String字符串
       * 	- 在JS中字符串需要使用引号引起来
       * 	- 使用双引号或单引号都可以,但是不要混着用
       * 	- 引号不能嵌套,双引号不能放双引号,单引号不能放单引号
       */
      
      var str = "湛江";
      alert(str);
      
    script>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pT5aQM8i-1661261285993)(D:\typora笔记\JS\img\1661053544478.png)]

    3.Number类型

    JS所有的数值都是Number类型

    ​ 包括整数和浮点数(小数)

    JS中可以表示的数字的最大值

    ​ Number.MAX_VALUE = 1.7976931348623157e+308

    ​ Number.MIN_VALUE 大于0的最小值 = 5e-324

    如果使用Number表示的数字超过最大值,则会返回一个

      	-  `Infinity`表示正无穷	
      	-  `-Infinity`表示负无穷	
      	-  使用`typeof`检查`Infinity`也会返回`number`
    
    • 1
    • 2
    • 3

    NaN是一个特殊的数字,表示是Not A Number,在使用typeof检查一个NaN也会返回number,注意是使用typeof检查返回都数据类型的小写,如使用typeof检查NaN返回是number'海康'返回是string

    123+1=124
    '123'+1=1231
    'a'+1=NaN,就是不能将字符串转换成数字与数字进行运算时,就返回`NaN`
    
    • 1
    • 2
    • 3

    3.Boolean类型

    Boolean布尔值,布尔值只有两个值,主要用来做逻辑判断

    true 表示值

    false 表示假

    使用typeof检查一个布尔值时,会返回boolean

    4.Null类型

    Null空值类型的值只有一个,就是null

    null这个值专门用来表示一个为空的对象,使用typeof检查一个null值时,会返回Object类型

    5.Undefined类型(未定义)

    Undefined类型的值只有一个,就是nudefined,当声明一个变量时,但是并不会这个变量赋值时,它的值就是nudefined类型,使用typeof检查一个nudefined时也会返回nudefined类型

    null专用于表示空值,使用typeof返回object类型,定义一个变量,未给该变量赋值时,使用typeof返回undefined类型

    注意是:parseInt()parseFloat()方法的转换,第一步是将它们不是String类型的数据转换成String类型,再进行操作

    6.强制类型转换

    • 指将一个数据类型强制转换为其他的数据类型
    • 类型转换主要指的是将其他的数据类型,转换为String Number Boolean类型

    7.转换成String类型【重点】

    将其他的数据类型转换成String

    方式一:

      - 调用被转换数据类型的`toString`方法
      - 该方法不会影响到原来的变量,它会将转换的结果返回
      - 注意的是:`null`和`undefined`这两个值没有`toString()`方法,如果调用他们的方法,会直接报错
    
    • 1
    • 2
    • 3

    方式二:

    • 调用String()函数,并将被转换的数据作为参数传递给函数

    • 使用String()函数做强制类型转换时

      • 对于NumberBoolean实际上就是调用的toString()方法
      • 但是对于nullundefined,就不会调用toString()方法
        • 它将null直接转换为"null"
        • undefined直接转换为"undefined"

    方式三:使用+进行拼接方式

    注意是:对于使用toString()方法转换成String类型时,只能是NumberBoolean类型,而对于NullUndefined类型会报错,而String()函数对所有类型都可以

    DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>转换成String类型title>
    head>
    <body>
    <script type="text/javascript">
          // 转换成String方式一:toString()方法
          // number 转换成 toString()
          var number = 168;
          alert(typeof number);
          number = number.toString();
          alert(typeof number)
    
          // boolean 转换 toString()
          var bool = true;
          alert(typeof bool);
          bool = bool.toString();
          alert(typeof bool);
    
          // 注意是:null和undefined类型不能直接调用toString方法转换成String 类型否则会报错
    
          // 方法二:使用String()函数,对于所有数据类型都适用
          var num2 = 123168;
          var bool2 = "明天";
          var null1 = null;
          var nude = undefined;
    
          alert(typeof num2);
          alert(typeof bool2);
          alert(typeof null1);
          alert(typeof nude);
    
          num2 = String(num2);
          bool = String(bool2);
          null1 = String(null1);
          nude = String(nude);
    
          alert(typeof num2);
          alert(typeof bool2);
          alert(typeof null1);
          alert(typeof nude);
    
          // 方式三:
          var num3 = 123168+"12";
          var bool3 = "明天"+"123";
          var null2 = null+"a";
          var nude1 = undefined+"a";
    
          alert(typeof num3);
          alert(typeof bool3);
          alert(typeof null2);
          alert(typeof nude1);
    
    script>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    8.转换成Number类型

    将其他的数据类型转换成Number类型

    方式一:

    ​ 使用Number()函数

    • 字符串 —> 数字
      1. 如果是纯数字的字符串,则直接将转换为数字
      2. 如果字符串中有非数字的内容,则转换为NaN
      3. 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
    • 布尔值 —> 数字
      1. true 转成 1
      2. false 转成 0
      3. null 转成 0
      4. nudefined 转成 NaN

    方式二:

    转换方式二:

    • 这种方式专门用来对付字符串
    • parseInt()把一个字符串转换为一个整数
    • parseFloat()把一个字符串转换一个浮点数

    调用parseInt()函数将a转换为NumberparseInt()可以将一个字符串中的有效的整数内容取出来,然后转换为Number

    parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数,如果对非String使用parsetInt()parseFloat(),它会先将其转换为String然后在操作

    DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>title>
    		<script type="text/javascript">
    		
    			/*
    			 * 将其他的数据类型转换为Number
    			 * 	 转换方式一:
    			 * 		使用Number()函数
    			 * 			- 字符串 --> 数字
    			 * 				1.如果是纯数字的字符串,则直接将其转换为数字
    			 * 				2.如果字符串中有非数字的内容,则转换为NaN
    			 * 				3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
    			 * 			- 布尔 --> 数字
    			 * 				true 转成 1
    			 * 				false 转成 0
    			 * 
    			 * 			- null --> 数字     0
    			 * 
    			 * 			- undefined --> 数字 NaN
    			 * 
    			 * 转换方式二:
    			 * 		- 这种方式专门用来对付字符串
    			 * 		- parseInt() 把一个字符串转换为一个整数
    			 * 		- parseFloat() 把一个字符串转换为一个浮点数
    			 */
    			
    			var a = "123";
    			
    			//调用Number()函数来将a转换为Number类型
    			a = Number(a);
    			
    			a = false;
    			a = Number(a);
    			
    			a = null;
    			a = Number(a);
    			
    			a = undefined;
    			a = Number(a);
    			
    			a = "123567a567px";
    			//调用parseInt()函数将a转换为Number
    			/*
    			 * parseInt()可以将一个字符串中的有效的整数内容去出来,
    			 * 	然后转换为Number
    			 */
    			a = parseInt(a);
    			
    			/*
    			 * parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数
    			 */
    			a = "123.456.789px";
    			a = parseFloat(a);
    			
    			/*
    			 * 如果对非String使用parseInt()或parseFloat()
    			 * 	它会先将其转换为String然后在操作
    			 */
    			a = true;
    			a = parseInt(a);
    			
    			a = 198.23;
    			a = parseInt(a);
    			
    			console.log(typeof a);
    			console.log(a);
    			
    			
    			
    		script>
    	head>
    	<body>
    	body>
    html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78

    9.转换成Boolean

    将其他的数据转换为Boolean

    ​ 使用Boolean()函数

    1.数字 ----》布尔

    ​ 除了0NaN,其余的都是true

    2.字符串 ----》布尔

    ​ 除了空串,其余的都是true

    3.nullundefined都会转换为false

    4.对象转换成true

  • 相关阅读:
    【随想录】-【8 回溯算法】【组合问题】40 组合总和Ⅱ
    numpy增删改查
    Mac下好用的日记、电子书阅读器、RSS订阅软件​
    MySql——事物
    大模型(e.g., ChatGPT)里面的一些技术和发展方向
    信息学奥赛一本通 1357:车厢调度(train)
    etcd cli选举流程
    Makefile
    常规动态网页爬取
    【UE5 骨骼动画】全形体IK导致Two Bone IK只能斜着移动,不能平移
  • 原文地址:https://blog.csdn.net/weixin_47267628/article/details/126493338