博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript的个人理解
阅读量:7183 次
发布时间:2019-06-29

本文共 2291 字,大约阅读时间需要 7 分钟。

隐式类型转换与显示类型转换 - (不是官方给的内容)

隐式类型转换

1.转换为string类型 - 类型转换后内容不变 - 用法: + ''(单引)或 ""(双引)

代码示例图:

// 定义number类型,string类型和boolean类型的变量var num = 100;var str = '一花一世界';var boo = false;var result1 = '' + num;// 100console.log(typeof result1);// stringvar result2 = boo + '';// trueconsole.log(typeof result2);// string

控制台示例图:

图片描述


2.转换为number类型 - 用法: + 其他类型

  • string类型转换为number类型

    • 如果文本内容是普通的文本(非数字) -> 转换后的结果为
    • 如果文本内容是数字值 -> 转换后的结果为对应数字值
  • boolean类型转换为number类型

    • true转换为 1
    • false转换为 0

示例代码

var result3 = +str;console.log(result3);console.log(typeof result3);// numbervar result4 = +boo;console.log(result4);// true为1,false为0console.log(typeof result4);// number

3.转换为boolean类型 - 用法: !! 其他类型

  • string类型转换为boolean类型

    • 空字符串(''或"")转换后的结果为false,其余情况都为true
  • number类型转换为boolean类型

    • 0或NaN转换后的结果为false,其余情况都为true
  • 注意: undefined或null转换后的结果为false

示例代码:

var result5 = !!str;console.log(result5);// trueconsole.log(typeof result5);// booleanvar result6 = !!num;console.log(result6);// trueconsole.log(typeof result6);// boolean

显示类型转换

  • Number() - 转换为数字值的类型
  • String() - 转换为字符串的类型
  • Boolean() - 转换为布尔值的类型
  • 注意: 这种写法很像包装类型,区别包装类型的定义方式是 new Number, new String和 new Boolean

1.转换为string类型 - 用法:其他类型加一个 (点) toString

  • String()函数 -> String(值)
  • toString()方法 -> 变量名.toString()

    • 对象的方法 -> 将变量当作是一个对象来使用
// 定义number类型、string类型以及boolean类型的变量var num = 100;var str = '一花一世界';var str1 = '100';var str2 = '100.7';var boo = false;var result1 = String(num);console.log(typeof result1);// stringvar result2 = num.toString();console.log(typeof result2);// string

2.转换为number类型

  • Number()函数 -> Number(值)
  • parseInt()函数 -> parseInt(值)

    • 转换为number类型,转换为一个整数
  • parseFloat()函数 -> parseFloat(值)

    • 转换为number类型,转换为一个浮点数

示例代码:

var result3 = Number(boo);console.log(typeof result3);// numbervar result4 = parseInt(str1);console.log(typeof result4);// 100var result5 = parseFloat(str1);console.log(result5);// 100
  • 注意:

    1. 如果用parseInt(转换整数)转换浮点数(100.1)JavaScript会自动取整数部分
    2. 如果用parseFloat(转换浮点)转换整数(100)JavaScript会自动去掉浮点

示例代码:

var result6 = parseInt(str2);console.log(result6);// 如果当前值为小数的话,parseInt()后取整数部分 - 100var result7 = parseFloat(str2);console.log(result7);// 100.7

3.转换为boolean类型

  • Boolean()函数 -> Boolean(值)

示例代码:

var result8 = Boolean(str);console.log(result8);// true

隐式类型转换与显示类型转换的区别

  • 显示类型转换

    • 优点 - 可读性高
    • 缺点 - 性能差
  • 隐式类型转换

    • 优点 - 性能好
    • 缺点 - 可读性差
  • 备注: 在代码量不是很多的情况下并且不影响性能 - 建议使用显示类型转换,因为可读性会好(代码的清晰度高)

转载地址:http://kpykm.baihongyu.com/

你可能感兴趣的文章
使用zabbix的ICMP Ping模版实现对客户端网络状态的监控
查看>>
90后美女的全能测试蜕变之路
查看>>
单网卡安装pptpd
查看>>
Cisco路由器配置ADSL上网
查看>>
qemu-kvm 启动
查看>>
IPSec ×××配置总结 2
查看>>
ImportFileHandler 附件上传
查看>>
curl提示不支持https协议解决方法
查看>>
Spring定时任务@Scheduled的cron表达式
查看>>
centos 防火墙设置
查看>>
SSH Secure Shell Client
查看>>
Linksys e3200初试tomato系统
查看>>
Runtime 类的使用
查看>>
Cassandra删除数据的坑
查看>>
AGC018D Tree and Hamilton Path(树+树的重心)
查看>>
【Codeforces #168 Div1 & Div2】Solutions
查看>>
求逆元的四种办法
查看>>
Ubuntu 12.04下LAMP安装配置
查看>>
Nginx连载
查看>>
【leetcode】Department Top Three Salaries
查看>>