1、把其他的数据类型转换为number类型
Number()->严格
parseFloat/parseInt ->非严格
isNaN(value) 如果value值不是数字类型的,它是首先调用Number转换为数字类型然后在判断是否为有效的数字
例如:
Number("12px"); ->NaN
parseInt("12px"); ->12
isNaN("12"); ->false
规律:
1)把布尔类型转换为数字的话 true->1 false->0
2)把null/undefined转换为数字 null->0 undefined->NaN 10+null=10 10+undefined=NaN
3)把[]转换为数字 首先调用数组的toString方法把[]->"",然后在使用Number方法把""->0
2、把其他的数据类型转换为布尔类型
Boolean
!!
! 先转换为布尔类型,然后在取反
例如:
!!1->true
!!0->false
![]->false !![]->true
规律:
只有0、NaN、null、undefined、""这五个转换为布尔类型的时候是false,其余的转换完成都是true
特殊情况:
如果你的条件判断中只是单独的一个值,它是首先把1转换布尔类型(->true),在判断是真还是假,如果是真条件成立,反之条件不成立
if (1) { } if ("3px" * 3) {//->条件不成立 "3px" * 3=NaN ->false } if ("3px" + 3) {//->条件成立 "3px" + 3="3px3" ->true }
"+"在JS中不仅仅是数学运算,遇到字符串的时候属于字符串拼接
"-、*、/"在JS中只能是数学运算,遇到不是number类型的要强制转换为number进行数学性运算
3、两个值进行比较(==比较的,===比较数据类型不一样不会进行默认的转换),如果左右两边的数据类型不一样,我们需要遵循一套法则,进行默认的数据类型转换
value1==value2
1)对象==对象 比较的是自己存储的内存地址,如果内存地址不一样就不相等 []==[]->false 每一个空数组都是一个单独的内存地址
2)对象==字符串 调用toString方法,将对象转换为字符串 []==""->true
3)对象==布尔 对象转换为数字(toString-Number),布尔也转换为数字(true->1 false->0)
[]==false ->true []->0 false->0 0==0->true
![]==false -> ![]先把空数组转换为布尔类型然后在取反->false false==false->true
4)对象==数字 对象转换为数字 []==0->true []==1->false
5)字符串==布尔 两者都转换为数字 "3"==true->false "1"==true->true
6)字符串==数字 字符串转换为数字 ""==0->true
7)布尔==数字 布尔转换为数字 true==1->true true==2->false
8)null==undefined ->true null===undefined ->false
null/undefined和其他的任何值都不相等 null==0->false
9)NaN==NaN ->false NaN和任何的值(包括自己)都不相等
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持PHP中文网!
更多浅谈javascript中的数据类型转换相关文章请关注PHP中文网!

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。