首页 > 编程语言 >javaScript数据类型及相互转换

javaScript数据类型及相互转换

时间:2024-11-12 08:50:16浏览次数:3  
标签:转换 log javaScript 数据类型 var 2.2 字符串 console

2.2、JS数据类型

2.2.1、数据类型

2.2.1.1、为什么需要数据类型

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

2.2.1.2、变量的数据类型

JS是一种弱类型或者动态语言。这就意味着不用提前声明变量的类型,在程序运行过程中,变量的数据类型是根据等号右边的值来自动确定的。

JS拥有动态类型,同时也意味着相同的变量可用作不同的类型

2.2.1.3、数据类型的分类

简单(一般)数据类型(Number、String、Boolean、Udefined、Null、Symbol)

复杂(引用)数据类型(Object,Function、Array、Date、RegExp、Math·····)

后续还会再增加别的数据类型....

面试题:js的数据类型有哪些?

2.2.2、简单数据类型

简单数据类型

解释说明

默认值

Number

数值型,包含整数值和浮点型,如12,1.2

0

Bollean

布尔值类型,true、false,等价于1、0

false

String

字符串类型,如'王二麻',字符串都带引号

'',"",``

Undefined

未定义,例如: var a;此时a=undefined

undefined

Null

空值;例如 :var a=null

null

2.2.2.1、数字型 Number
(1)、数字型进制

常见的进制有二进制、八进制、十进制、十六进制,在JS中,八进制前面加0,十六进制前面加0x

(2)、数字型范围(JS中数值的最大值和最小值)
  • Number.MAX_VALUE //1.7976931348623157e+308

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

使用typeof 检查infinity也会返回number

  • Number.MIN_VALUE 大于0的最小值 //5e-324
  • NaN 是一个特殊的数字,表示Not A Number, 非数值

使用typeof 检查NaN也会返回number

      var a = 123;
      a = 456.789; //下面的数值会覆盖上面的
      var b = 123; //这是数字123
      console.log(typeof a); //number

      a = Number.MAX_VALUE; //最大值
      // console.log(a)

      a = Number.MIN_VALUE; //最小值
      //  console.log(a)

      a = "abc" * "bcd";
      //console.log(a); //NaN
(3)、数字型计算
      • 在Js中整数的运算基本可以保证精确
      • 如果使用JS进行浮点元素,可能得到一个不精确的结果
var c = 1 + 2; 
console.log(c);//3

var d = 0.1 + 0.2; //如果使用JS进行浮点元素,可能得到一个不精确的结果
console.log(d);//0.30000000000000004
(4)、isNaN()方式

用来判断NaN,并返回一个布尔值,如果判断的是NaN,则返回true,如果判断的不是NaN,则返回false

判断一个值能否被 Number() 合法地转化成数字

 console.log(isNaN(123));//false
 console.log(isNaN(NaN));//true
(5)、typeof 来检查一个变量的类型,并输出

语法:typeof 变量

检查字符串时,会返回string; 检查数值时,会返回number·····

返回的string、number、boolean等值,这些值的类型是string

2.2.2.2、字符串String
(1)、基本语法

字符串型可以是引号中的任意文本,其语法为双引号""和单引号''、反引号``,一般js中建议用双引号"",js可以用单引号嵌套双引号,或者用双引号嵌套单引号

// 单双引号嵌套
      var res = '古诗:"锄禾日当午"';
      console.log(res);
(2)、字符串转义符

转义符都是\开头的,,写在当单双引号里面的,常用的转义符及其说明如下

转义符

解释说明

\n

换行符,n表示newline的意思

\\

斜杠\

\'

'单引号

\"

"双引号

\t

tab缩进

\b

空格,b是blank的意思. ???

//转义字符
      var str = "hello";
      str = " \''你好 ";
      console.log(str,'11');
(3)、字符串长度

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

(4)、字符串拼接

多个字符串之间可以使用+进行拼接,其拼接方式为字符串+任意类型=拼接新字符串 ;

拼接前会把字符串相加的任意类型转成字符串,再拼接成一个新的字符串;

(5)、字符串拼接变量

字符串和变量拼接,变量不能写在引号里面,需要用加好拼接变量

eg:"你好"+age+"hlleo"

var age = 18;
var str = "我今年18岁了";
str = "我今年" + age + "岁了";
var str4 = `我叫${myName},我今年${age}岁了`;
console.log(str);
2.2.2.3、布尔值 Boolean

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

true -表示真 false -表示假

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

当进行数值运算的时候,true为1,false为0

2.2.2.4、未定义 Undefined

Undefined类型的值只有一个,就是undefined

当声明了一个变量,但是并不给变量赋值时,它的值就是undefined

使用typeof检查一个undefined时也会返回undefined

当进行数值运算时,结果为NaN

2.2.2.5、 空值Null

null这个值专门用来表示空的对象

使用typeof检查一个null值时,会返回object

当进行数值运算时,null为0

2.2.2.6、typeof返回值

number,string,boolean,undefined,object

返回值的是string

2.2.3、数据类型转换

使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接进行数值运算,需要将字符串转为数值类型

强制类型转换:指将一个数据类型强制转换为其他的数据类型

通常三种转换

转换为字符串类型

转换为数字型

转换为布尔型

2.2.3.1、转换为字符串类型
(1)、toString()方法

-调用被转换数据类型的toString()方法 语法:变量.toString()

-该方法不会影响到原变量,它会将转换的结果返回 语法:str=变量.toString()

-注意:null和undefined这两个值没有toString的方法,如果调用他们会报错

 var a = 123;
  //调用a的toString()方法
  var b = a.toString(); //将a赋值转换结果赋值给b,再检查b
  a = a.toString(); //也可将a赋值转换结果赋值给a,再检查a
  console.log(typeof a);
  console.log(a);

  //    再举例
  var c = true;
  c = c.toString();
  console.log(typeof c);
  console.log(c);

  /* var d=null;
   d=d.toString();
   console.log(typeof d)//会报错

   var e=undefined;
   e=e.toString();
   console.log(typeof e) */ //会报错
(2)String()

-调用String()函数,并将被转换的数据作为参数传递给函数, 语法:String(变量)

-使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString的方法

但对于null和undefined,就不会调用toString()方法, 它会将null直接转换为"null", 将undefined 直接转换为"undefined"

      a = 789;
      //调用String()函数,来将a转换为字符串
      a = String(a);

      a = null;
      a = String(a);

      a = undefined;
      a = String(a);

      console.log(a);
      console.log(typeof a);
(3)拼接字符串(隐式转换)

和字符串拼接的结果都是新字符串,语法:变量+''

  var f=123
  f=f+''
  console.log(f,typeof f);
2.2.3.2、转换为数字型(重点)
(1)、 使用Number()函数

字符串-->数字

1:如果是纯数字的字符串,则直接将其转换为数字

2:如果字符串中有非法的数字的内容,则转换为NaN

3:如果字符串是一个空串,或者全是空格的字符串,则转换为0

布尔值--->数字

true--1 false--0

Null --->数字 0

Undefined --->数字 NaN

(2)、parseInt()

可以将一个字符串中的有效的整数取出来,转换为Number,其他类型用parseInt()转换,得到的都是NaN

语法:parseInt(变量)

   a='123px';
   a=parseInt(a)//调用parseInt()函数,将a转换为Number
(3)、parseFloat()

把一个字符串转换为一个浮点数数值型

语法:parseFloat(变量)

 a='123.345px';
 a=parseFloat(a);            

注意:如果对非String使用parseFloat()跟parseInt(),它会先将其转换为String,然后再操作 

 a=true;
 a=parseInt(a);//NaN
(4)、js隐式转换
(5)、正号

利用算术运算 - * / 隐式转换为数值型

a = "123";
a = a - 0;//123
a = a / 1;//123
a = a * 1;//123
console.log(a, typeof a);
2.2.3.3、转换为布尔型

1、Boolean()函数,将其他类型转成布尔值

  • 数字-->布尔 除了0跟NaN是false,其他的都是true
  • 字符串-->布尔 除了空串是false,其余都是true
  • null和undefined都会转换为false
  • 对象会转换为true

2、两次取反

 <script>
      var a = 123; //true
      a = -123; //true
      a = 0; //flase
      a = NaN; //flase
      a = Boolean(a); //调用Boolean()函数来将a转换为布尔值

      a = "false"; //true
      a = " "; //false

      a = null; //false
      a = Boolean(a);

      a = undefinde; //false

      console.log(typeof a);
      console.log(a);
    </script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:转换,log,javaScript,数据类型,var,2.2,字符串,console
From: https://blog.csdn.net/qq_60060362/article/details/143700447

相关文章

  • 细节解析 JavaScript 中 bind 函数的模拟实现
    大家的阅读是我发帖的动力,本文首发于我的博客:deerblog.gu-nami.com/,欢迎大家来玩,转载请注明出处喵。......
  • 【PIL】Torch.tensor和PIL.Image之间互相转换
    A.格式转换过程fromPILimportImageimportnumpyasnpimportmatplotlib.pyplotaspltimporttorchfromtorchvisionimporttransformsimg=Image.open("test.png")#查看shapeprint(np.array(img).shape)#得到(936,1809,4),如果要转化成神经网络可读的......
  • Python华氏温标与摄氏温标转换
    关于温度计量单位的认识华氏度F,是温度的一种度量单位,其发明者德国人华伦海特(GabrielDanielFahrenheit,1686年——1724年)命名的。在标准大气压下冰的熔点为32华氏度,水的沸点为212华氏度。一些外国日常生活中采用华氏度。摄氏度C,也是温度的一种度量单位,是瑞典天文学家安德斯.摄......
  • JavaScript on html
    我咋没发啊,丢草稿箱里给忘了,发一下好像早就写了首先你要会一点html一点都不会建议学了再来Vscode自带html+JS自动补全,比较好用不会运行JS建议多动脑子调用可以用<script>调用也可以以字符串形式写在超链接的地方弱类型语言,变量用var定义(=new()格式下可以不......
  • 【Azure Developer】在使用Azure Bot Service JavaScript的实例代码遇见Cannot find m
    问题描述从Github中下载了JavaScript的BotServiceEchoBot实例代码,本地执行,总是报错Cannotfindmodule'node:crypto' 错误信息Error:Cannotfindmodule'node:crypto'Requirestack:atFunction.Module._resolveFilename(internal/modules/cjs/loader.js:902:15)......
  • 4-3-2.C# 数据容器 - Dictionary 扩展(Dictionary 存储对象的特性、Dictionary 与数组
    Dictionary概述Dictionary<TKey,TValue>存储的是键值对(Key-Value),通过键(Key)来存储或修改值(Value)Dictionary<TKey,TValue>存储的键值对是无序的Dictionary<TKey,TValue>存储的键是不可重复的Dictionary<TKey,TValue>支持泛型,可以指定存储的键值对的类型D......
  • Python基础(1):初识python、环境配置、数据类型、循环语句
    简介:python是一个解释性、编译性、互动性和面向对象的脚本语言python是一种解释性语言:开发过程中没有了编译环节python是一种交互式语言:意味着可以在cmd窗口输入python,>>>后直接执行代码Python是面向对象的语言:意味着python支持面向对象的风格或代码封装在对象的编程技......
  • QRust(二)数据类型
    QRust支持的数据类型可分为两类:基本类型、集合类型。这些数据类型可作为函数参数、返回值或struct的字段,在Qt和Rust之间传递。基本类型Rust端Qt端boolbooli8qint8i16qint16i32qint32i64qint64u8quint8u16quint16u32quint32u64quint64......
  • 第 5 章 - Go 语言 数据类型
    在Go语言中,数据类型是用来声明变量和函数的特定类型的数据。Go是一种静态类型的语言,这意味着所有变量的类型在编译时都必须已知。Go语言支持多种数据类型,可以大致分为基本数据类型和复合数据类型。基本数据类型布尔型(bool)只有两个值:true和false。整型(int,......
  • JavaScript基础总结
             JavaScript(简称JS)是一个广泛使用的客户端脚本语言,常用于网页开发中。它可以在浏览器中运行,执行交互操作和动态效果。以下是JavaScript基础的所有核心知识点,按主题分类列出。1.基本语法声明变量使用var、let和const来声明变量:varname='Alice';/......