首页 > 其他分享 >05 强制类型转换

05 强制类型转换

时间:2023-05-14 09:34:59浏览次数:47  
标签:类型转换 console log 05 toString typeof 强制 null String

05 强制类型转换

作者:FL
博客:https://www.cnblogs.com/flblogs/


String

  • 将其他数据类型转换为String

  • 方式一:调用数据类型的toString()方法

    • toString方法不会影响原变量,而是将转换的结果返回
    • 注意:toString方法不能转换null和unidentified
var a = 123;  
a =a.toString();  
  
console.log(a);  
console.log(typeof  a);  
  
a = null;  
// a = a.toString();//Uncaught TypeError  
console.log(a);  
console.log(typeof  a);  
  
a = undefined;  
// a = a.toString();//Uncaught TypeError  
console.log(a);  
console.log(typeof  a);
  • 方式二:String(要转换的变量)
    • 这种方法也可以转换null和unidentified
    • String(变量)方法对于null和unidentified,直接转换为字符串,其他类型与toString()相同
a = null;  
a = String(a)  
console.log(a);//null  
console.log(typeof  a);//string  
  
a = undefined;  
a = String(a);  
console.log(a);//undefined  
console.log(typeof  a);//string

Number

  • 注意:没有toNumber方法
  • 方式一:调用Number()方法
    • String -> Number:
      • 如果是纯数字,直接转换为Number
      • 如果是空格,转化为0
      • 把一个不能转换为Number的值强制转换,结果为NaN,例如“张三” -> NaN
    • null -> 0
    • Boolean -> Number: true -> 1,false -> 0
    • Undefined -> 0
a = Number(a);  
console.log(a);  
console.log(typeof a);
  • 方式二:调用parseInt()、parseFloat()方法
    • 作用:将字符串最前面是数字的字符串直接转换为数组
    • 对于非String使用,会先将其转换为String在操作
let b = "123abc456";  
b = parseInt(b);  
console.log(b);//123  
console.log(typeof b);

let c = true;  
c = parseInt(c);  
console.log(c);//NaN  
console.log(typeof c)
  • 表示其他进制的数字:
//    其他进制的数字  
    let d = 0x123;//16进制 0x开头  
    d = 0b10;//二进制 0b开头,有的浏览器可能不支持  
    d = 0o70;//八进制 0o开头  
  
    d = parseInt(d,8);//指定数字进制  
  
    console.log(d);//输出时会以十进制输出  
    console.log(typeof d);

Boolean

  • 使用Boolean()
    • 数字 -> 布尔 :除了0和NaN,其余都是true
    • 字符串 -> 布尔 : 除了空串,其余都是true
    • null和undefined -> 布尔: 都是false
    • 对象也会转换为true
let a = 6;  
a = Boolean(a);  
console.log(a);  
console.log(typeof a);  
  
let b = "1344za";  
a = Boolean(b);  
console.log(b);  
console.log(typeof b);

标签:类型转换,console,log,05,toString,typeof,强制,null,String
From: https://www.cnblogs.com/flblogs/p/17398757.html

相关文章

  • 【nodejs基础】Expres编写接口详解05
    一、使用Express写接口浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域接口的跨域问题刚才编写的GET和POST接口,存在一个很严重的问题:不支持跨域请求,解决接口跨域问题的方案主要有两种CORS(主流解决方案,推荐)JSONP(有缺陷:只支持GET请......
  • 【愚公系列】2023年05月 .NET CORE工具案例-Workflow-Core轻量级工作流引擎(随机流程)
    (文章目录)前言1.什么是工作流工作流是OA系统比较重要的功能之一,主要在于企业流程协同审批,有效进行流程管理。流程管理起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序的活动提出的一个概念。目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来......
  • 2023-05 多校联合训练 ZJNU站 热身赛
    猫猫接币币给定两个容量分别为a和b的盒子,已知第i秒天上会掉下i个金币,你会从第1秒开始接金币,每秒钟你可以选择任意一个盒子接金币,但是不能不选,你必须使得两个盒子刚好装满,请问是否存在某个时刻,使得恰好装满两个盒子,输出一个仅由A和B组成的字符串,第\(i\)位的字符即表示第\(i\)......
  • 每日总结2023-05-13
    今天对多线程进行探索: 使用步骤:具体使用: //步骤1:创建线程类(继承自Thread类)classMyThreadextendsThread{//步骤2:复写run(),内容=定义线程行为@Overridepublicvoidrun(){...//定义的线程行为}}//步骤3:创建线程对象,即......
  • 印象笔记强制notes格式后导入obsidian、有道云笔记方法
    新版印象笔记给enex格式去掉了,换成notes格式,无法导入别的地方,上网查了下还是有方法导出的安装工具$pipinstall--userevernote-backup按照教程同步笔记$evernote-backupinit-db--backendchina$evernote-backupsync$evernote-backupexportoutput_dir/......
  • MPU6050一些问题与解决方案
    第一次参加电赛,调mpu6050调得想死,记录一些问题等待日后查询。 一.输出一直是0.可能1:没有初始化成功,见二。可能2:输出时用的是整型格式而不是浮点数格式。。。可能3:AD0引脚接了高电平(或者低电平),就是地址不对。二.初始化不能成功。我是和......
  • Hugging News #0512:
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!开源更新Transformers现已支持Meta的S......
  • 5.12 强制转换函数重载
    在 C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符。类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数。经过适当重载后,(类型名)对象这个对对象进行强制类型转换的表达式就等价于对象.operator类型名(),即变成对运算符......
  • 2023-05-12:存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号, 给你
    2023-05-12:存在一个由n个节点组成的无向连通图,图中的节点按从0到n-1编号,给你一个数组graph表示这个图,其中,graph[i]是一个列表,由所有与节点i直接相连的节点组成。返回能够访问所有节点的最短路径的长度。你可以在任一节点开始和停止,也可以多次重访节点,并且可以重......
  • 每日总结2023-05-12
    今天完成了dialog的简易模式:privatevoidshowQieDialog(){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("切换账号提示").setMessage("请确认切换账号").setPositiveButton("......