首页 > 编程语言 >JavaScript数据类型的转换

JavaScript数据类型的转换

时间:2023-10-30 15:37:31浏览次数:32  
标签:转换 log NaN JavaScript 数据类型 console num false true

一、字符串类型的转换

1、自动转换

<script>
       var str = 'hello';
       var num = 100;
       console.log(str+num);
       console.log(typeof (str+num));
</script>

2、强制转换

String(),object.toString()

<script>
        //string()
       var num = 100;
       console.log(typeof num);
       console.log(typeof String(num));
</script>

object 意思为对象,一切皆为对象,所以查询date是否被强制转为字符串类型的时候,object.toString()中的object换为date

 <script>
        //object.toString()
       date = new Date()
       console.log(date);
       console.log(typeof date);
       console.log(typeof date.toString());
</script>

二、转为Number类型

1、自动转换

<script>
        console.log('hello' - 1);//NaN
        console.log('10' - 5); // 5
        console.log('100abc' - 15);//NaN
        console.log(null + 100);
        console.log(null - 100);
        console.log(true + 10);
        console.log(false + 10);
        console.log(undefined + 10);
</script>

2、强制转换

  Number() 按照自动转换规则转换

<script>
       console.log(Number('100'));
       console.log(typeof Number('100'));
        console.log(Number('100abc'));
        console.log(typeof Number('100abc'));
</script>

  parseInt(string) 、parseFloat(string)

<script>
        console.log(parseInt('12.58'));
        console.log(parseFloat('w12.58sadjk'));
        console.log(parseInt('100abc'));
        console.log(parseInt('a100abc'));
        console.log(parseInt('100ab10c'));
</script>

 

其中,如果小数转为整数类型,则取整,转为小数类型取小数、如果字符串转为整型取第一个整数到最后一个整数后面的整数不再获取,如果第一个是字符串的话,则转为NaN数字类型。

  isNaN() 函数用于检查其参数是否是非数字值

 <script>
        console.log(parseInt(isNaN('a100abc')));
        console.log(parseInt(isNaN('100ab10c')));
</script>

无论什么都转为NaN

三、转为Boolean类型

1、自动转换

在Boolean中 是false的情况:""、''、0、0.0、null、undefined、false。其他均为true

2、强制转换

Boolean()、 !!

<script>
         var str = 'hello';
         var num = 100;
         console.log(Boolean(num));
        console.log(!!str);
</script>

 

 

特殊案例:             console.log(Boolean([])); // true             console.log([] == false);   // true; ==两边的数据类型不一致,需要转为数字进行比较;[]=>字符串''=>数字0             console.log(![] == false); // true  ==的优先级比较低,肯定是先算左边 ![] 然后与后面进行比较,[]转为布尔值为true 取反 false false==false             console.log('0' == false); // true
            {} == {} // false,对象对比的是堆内存的地址             [] == [] // false             NaN == NaN // false

 

在==比较的过程中,数据转换的规则 类型一样的几个特殊点:

{} == {} false,对象对比的是堆内存的地址 [] == [] false NaN == NaN false

类型不一样的转换规则:

  1. null == undefined true,但是换成 === 结果是false(因为类型不一致),剩下null/undefined和其他任何数据类型值都不相等

  2. 字符串 == 对象,要把对象转为字符串

  3. 剩下如果 == 两边数据类型不一致,都是需要转换为数字再进行比较

如果类型都是字符串,就会按照ASCII编码的进行对比

标签:转换,log,NaN,JavaScript,数据类型,console,num,false,true
From: https://www.cnblogs.com/ljygzyblog/p/JavaScript-3.html

相关文章

  • Java 时间戳转换为yyyy-MM-dd格式
    importjava.util.Date;importjava.text.SimpleDateFormat;publicclassTimestampConverter{publicstaticvoidmain(String[]args){longtimestamp=1612345678901L;Datedate=newDate(timestamp);SimpleDateFormatsdf=new......
  • 数组,list,字符串的一些转换
    //list转数组Long[]ids=updateIds.toArray(newLong[updateIds.size()]) // 数组转listList<String>reasonList=Arrays.asList(perm.trim().split(",")) // String转数组String[]reasons=business.getReason().split(",") //数组转字符串需要引⼊......
  • JavaScript 中的单例模式
    单例模式是JavaScript中最流行的设计模式之一。单例模式的优点全球访问点:提供对实例的单点访问,可以轻松管理全球资源。内存效率:该模式确保只有一个实例,这特别节省内存。延迟初始化:仅在需要时才创建实例,从而提高性能这是一种创建模式,可确保类只有一个实例,同时提供对该实例......
  • 如何避免JavaScript中的内存泄漏?
    前言过去,我们浏览静态网站时无须过多关注内存管理,因为加载新页面时,之前的页面信息会从内存中删除。然而,随着单页Web应用(SPA)的兴起,应用程序消耗的内存越来越多,这不仅会降低浏览器性能,甚至会导致浏览器卡死。因此,在编码实践中,开发人员需要更加关注与内存相关的内容。因此,小编今天将......
  • 如何避免JavaScript中的内存泄漏?
    前言过去,我们浏览静态网站时无须过多关注内存管理,因为加载新页面时,之前的页面信息会从内存中删除。然而,随着单页Web应用(SPA)的兴起,应用程序消耗的内存越来越多,这不仅会降低浏览器性能,甚至会导致浏览器卡死。因此,在编码实践中,开发人员需要更加关注与内存相关的内容。因此,小编今天......
  • 达梦空间数据类型学习(五)
    --圆几何构造函数ST_CreateCircle(geom,n)geom:为闭合的Polygon,里面必须有个重复的点n:指定生成圆(椭圆)的坐标个数,不能小于4droptableifexistsdmt;createtabledmt(gemoST_Geometry);insertintodmt(gemo)selectdmgeo2.ST_CreateCircle(dmgeo2.ST_GeomFromText('p......
  • javascript的一些API接口的使用
    1.blobhttpURL在编辑器中,有的情况下插入图片,会讲图片转成blob:http://localhost/***的这种形式。这种形式的URL实际数据是存放在浏览器的内存中。这种情况下如何读取这个URL的具体内容呢点击查看代码asyncreadStreamAndEncodeBase64(url){//发送请求并......
  • 重要数据类型
    重要数据类型列表数据类型在实际开发中,经常需要将一组(不只一个)数据存储起来,以便后边的代码使用。列表就是这样的一个数据结构。且列表是Python中最基本也是最常用的数据结构之一。什么是数据结构呢?有列表,,元组,字典,字符串等。通俗来讲,可以将数据结构当做是某种容器,该容器......
  • 重要数据类型
    重要数据类型列表数据类型在实际开发中,经常需要将一组(不只一个)数据存储起来,以便后边的代码使用。列表就是这样的一个数据结构。且列表是Python中最基本也是最常用的数据结构之一。什么是数据结构呢?有列表,,元组,字典,字符串等。通俗来讲,可以将数据结构当做是某种容器,该容器......
  • Windows 10中,可以使用以下PowerShell脚本来禁用Internet Explorer的Javascript错误提
    Windows10中,可以使用以下PowerShell脚本来禁用InternetExplorer的Javascript错误提示禁用脚本调试器Set-ItemProperty-Path"HKCU:\Software\Microsoft\InternetExplorer\Main"-Name"DisableScriptDebugger"-Value"yes"禁用每个脚本错误的通知Set-ItemProperty......