资讯专栏INFORMATION COLUMN

JavaScript的个人理解

CollinPeng / 1000人阅读

摘要:隐式类型转换与显示类型转换不是官方给的内容隐式类型转换转换为类型类型转换后内容不变用法单引或双引代码示例图定义类型类型和类型的变量一花一世界控制台示例图转换为类型用法其他类型类型转换为类型如果文本内容是普通的文本非数字转换后的结果

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

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

相关文章

  • 理解javascript核心知识点

    摘要:作用域链的作用就是做标示符解析。事件循环还有个明显的特点单线程。早期都是用作开发,单线程可以比较好当规避同步问题,降低了开发门槛。单线程需要解决的是效率问题,里的解决思想是异步非阻塞。 0、前言 本人在大学时非常痴迷java,认为java就是世界上最好的语言,偶尔在项目中会用到一些javascript,但基本没放在眼里。较全面的接触javascript是在实习的时候,通过这次的了解发现...

    laznrbfe 评论0 收藏0
  • JS编译之 LHS RHS(你不知道JavaScript 小记一)

    摘要:关于两个专业术语的讨论起自对你不知道的一书的阅读学习。遇到,编译器会询问作用域是否已经有一个该名称的变量存在于同一个作用域的集合中。摘录来自你不知道的。 JS 编译之 LHS RHS 一、前言 最近和朋友聊技术的时候,聊到 LHS RHS,我竟然没听说过 没听说过。。。 于是成功引起了我的好奇心。 关于两个专业术语的讨论起自对《你不知道的JavaScript》一书的阅读学习。 二、编译...

    Cristic 评论0 收藏0
  • 写技术博客那点事

    摘要:从现在开始,养成写技术博客的习惯,或许可以在你的职业生涯发挥着不可忽略的作用。如果想了解更多优秀的前端资料,建议收藏下前端英文网站汇总这个网站,收录了国外一些优质的博客及其视频资料。 前言 写文章是一个短期收益少,长期收益很大的一件事情,人们总是高估短期收益,低估长期收益。往往是很多人坚持不下来,特别是写文章的初期,刚写完文章没有人阅读会有一种挫败感,影响了后期创作。 从某种意义上说,...

    ddongjian0000 评论0 收藏0
  • 写技术博客那点事

    摘要:从现在开始,养成写技术博客的习惯,或许可以在你的职业生涯发挥着不可忽略的作用。如果想了解更多优秀的前端资料,建议收藏下前端英文网站汇总这个网站,收录了国外一些优质的博客及其视频资料。 前言 写文章是一个短期收益少,长期收益很大的一件事情,人们总是高估短期收益,低估长期收益。往往是很多人坚持不下来,特别是写文章的初期,刚写完文章没有人阅读会有一种挫败感,影响了后期创作。 从某种意义上说,...

    NSFish 评论0 收藏0
  • 漫漫前端路

    摘要:最后要说的是,现在是一个互联网时代,网络上的资料已经多的你无法想象了,所以请遇到问题的时候,请独立思考后先百度,再去问别人,不要太依赖别人,更别依赖群里的那些潜水年的所谓大神。 本人一枚菜鸟,在这里不会跟你唠叨一大篇大道理,只会根据自己的经验谈谈前端这条路适合哪些人走?该怎么走? 前端,是最近几年很火的职业,导致现在是群魔乱舞,这里并没有贬低任何人的意思,只是因为目前各行各业的人都转行...

    DC_er 评论0 收藏0

发表评论

0条评论

CollinPeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<