摘要:隐式类型转换与显示类型转换不是官方给的内容隐式类型转换转换为类型类型转换后内容不变用法单引或双引代码示例图定义类型类型和类型的变量一花一世界控制台示例图转换为类型用法其他类型类型转换为类型如果文本内容是普通的文本非数字转换后的结果
隐式类型转换与显示类型转换 - (不是官方给的内容) 隐式类型转换
1.转换为string类型 - 类型转换后内容不变 - 用法: + ""(单引)或 ""(双引)
代码示例图:
// 定义number类型,string类型和boolean类型的变量 var num = 100; var str = "一花一世界"; var boo = false; var result1 = "" + num;// 100 console.log(typeof result1);// string var result2 = boo + "";// true console.log(typeof result2);// string
控制台示例图:
2.转换为number类型 - 用法: + 其他类型
string类型转换为number类型
如果文本内容是普通的文本(非数字) -> 转换后的结果为
如果文本内容是数字值 -> 转换后的结果为对应数字值
boolean类型转换为number类型
true转换为 1
false转换为 0
示例代码
var result3 = +str; console.log(result3); console.log(typeof result3);// number var result4 = +boo; console.log(result4);// true为1,false为0 console.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);// true console.log(typeof result5);// boolean var result6 = !!num; console.log(result6);// true console.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);// string var 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);// number var result4 = parseInt(str1); console.log(typeof result4);// 100 var result5 = parseFloat(str1); console.log(result5);// 100
注意:
如果用parseInt(转换整数)转换浮点数(100.1)JavaScript会自动取整数部分
如果用parseFloat(转换浮点)转换整数(100)JavaScript会自动去掉浮点
示例代码:
var result6 = parseInt(str2); console.log(result6);// 如果当前值为小数的话,parseInt()后取整数部分 - 100 var result7 = parseFloat(str2); console.log(result7);// 100.7
3.转换为boolean类型
Boolean()函数 -> Boolean(值)
示例代码:
var result8 = Boolean(str); console.log(result8);// true隐式类型转换与显示类型转换的区别
显示类型转换
优点 - 可读性高
缺点 - 性能差
隐式类型转换
优点 - 性能好
缺点 - 可读性差
备注: 在代码量不是很多的情况下并且不影响性能 - 建议使用显示类型转换,因为可读性会好(代码的清晰度高)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/96688.html
摘要:作用域链的作用就是做标示符解析。事件循环还有个明显的特点单线程。早期都是用作开发,单线程可以比较好当规避同步问题,降低了开发门槛。单线程需要解决的是效率问题,里的解决思想是异步非阻塞。 0、前言 本人在大学时非常痴迷java,认为java就是世界上最好的语言,偶尔在项目中会用到一些javascript,但基本没放在眼里。较全面的接触javascript是在实习的时候,通过这次的了解发现...
摘要:关于两个专业术语的讨论起自对你不知道的一书的阅读学习。遇到,编译器会询问作用域是否已经有一个该名称的变量存在于同一个作用域的集合中。摘录来自你不知道的。 JS 编译之 LHS RHS 一、前言 最近和朋友聊技术的时候,聊到 LHS RHS,我竟然没听说过 没听说过。。。 于是成功引起了我的好奇心。 关于两个专业术语的讨论起自对《你不知道的JavaScript》一书的阅读学习。 二、编译...
摘要:从现在开始,养成写技术博客的习惯,或许可以在你的职业生涯发挥着不可忽略的作用。如果想了解更多优秀的前端资料,建议收藏下前端英文网站汇总这个网站,收录了国外一些优质的博客及其视频资料。 前言 写文章是一个短期收益少,长期收益很大的一件事情,人们总是高估短期收益,低估长期收益。往往是很多人坚持不下来,特别是写文章的初期,刚写完文章没有人阅读会有一种挫败感,影响了后期创作。 从某种意义上说,...
阅读 968·2023-04-25 17:51
阅读 2815·2021-11-23 09:51
阅读 1405·2021-11-08 13:21
阅读 2360·2021-09-22 15:14
阅读 1500·2019-08-30 12:48
阅读 1055·2019-08-29 12:44
阅读 1103·2019-08-26 12:21
阅读 1378·2019-08-26 10:47