JavaScript如何进行类型转换?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript如何进行类型转换?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1216字,纯文字阅读大概需要2分钟。
内容图文
![JavaScript如何进行类型转换?](/upload/InfoBanner/zyjiaocheng/683/0f331d75ba9f44b79201245967160a0e.jpg)
(1) console.log(8*null)
//输出为0(空值更改为0)
(2) console.log("5"-1)
//输出为4(“ 5”更改为5)
(3) console.log("5"+1)
//输出到“ 51”(1更改为“ 1”)
就像您看到上面的代码行一样,有时类型转换发生在二进制运算符的左侧,而有时发生在二进制运算符的右侧.
因此,我的问题是JavaScript如何确定需要更改的操作数类型,它是在内部发生(在用户不知情的情况下)还是存在数据类型的任何优先级?
解决方法:
>因为*是multiplicative operator,所以它在其两个操作数上都调用了规范的ToNumber抽象操作(首先是左操作数,然后是右操作数). ToNumber(null)的结果为0(请参阅表的链接),因此8 * 0为0.
>因为-是subtraction operator,所以它也会在其操作数上调用ToNumber.所以你得到5-1等于4.
> + operator具有两个含义:数学加法和字符串连接.如果两个操作数中的任何一个都是字符串,则将得到串联,而不是加法.更正式地讲:它首先通过规范的抽象ToPrimitive操作将其操作数转换为基元,然后确定任何一个操作数的基元值是否为字符串,如果是,则进行级联.在的情况下,哪个操作数(左或右)是字符串都没有关系,它可以是任何一个,并使其串联而不是加法.
So my question is how does JavaScript decides which operand type needs to be changed, does it happens internally (without in the knowledge of user) or is there any precedence of data type is there??
在规范中非常详细地阐明了这一点,因此,如果您对特定情况有任何疑问,那就去找.
内容总结
以上是互联网集市为您收集整理的JavaScript如何进行类型转换?全部内容,希望文章能够帮你解决JavaScript如何进行类型转换?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。