平时写惯了C#,所以会觉得什么样的运算符就应该做什么样的运算,但是有一天你的习惯被其他语言颠覆了,不知道是不是有一股强大的好奇

心,刚好在js中,我的这种习惯就被颠覆了,下面就看看哪些运算符颠覆了我的三观。
一:==运算符
==运算符之所以可以颠覆,可以从下面几个例子中看出来。
<1> "10"==10 ?
如果这要是放在C#里面,编译器会毫不客气的告诉你,王八羔子,类型都不同,你比个毛线啊。。。但是在JS里面又会是怎样呢?
从上图中,你可以看到,不管你好奇不好奇,答案就在那里,可能有人就要问,到底是10转化成了“10”,还是“10”被转化成了10,所以这个也
是我一直吐槽的地方,如果是C#,你还可以看看IL里面到底怎么处理的,而JS里面你什么都看不到,只能听教科书上的一面之词,无法眼见为实。
所以除了记住就是记住了,我只能说是字符串”10“转换成了10,然后进行整形比较的。
<2>true==1 ?
这个问题稍微想想还能理解,其实在C#的IL中,也是将true和false相应的转化为1和0,所以js在判断时会将true转化为1,再进行整形比较,这
个现象我觉得不怎么稀奇,记住就好。
<3> {valueOf:function(){return "10"}}==10?
这个问题也是蛮奇葩的,对象居然还可以和int类型相比较?但是在JS中却真的可以做到,原理是这样的,如果一个对象和int/string比较的话,
js内部会优先调用valueOf方法,也就是将对象数值化,其实这里好玩的地方就是我们自定义的valueOf重写了父类的valueOf方法,所以上面
的例子就是判断“10”==10?。
这里还要PS一下,如果你的类中没有定义valueOf方法的话,js内部引擎还会再去找toString()方法,如果有则执行。
不知道当你接触到这些新用法的时候,是不是觉得有点慌乱,好像有种乱七八糟的感觉?如果你很怕程序有潜在的bug,那么为了保险起见,
转化为同一数据类型来比较吧,当然在js里面还有一个===运算符可以说跟C#里面的逻辑运算符算是最接近的,这个多出来的“=”就是在
“==”的基础上再判断类型是否相等?就比如:
二:&&和||运算符
这两个运算符也是蛮奇葩的,在我们的思维习惯里面,这两个运算符两边就应该都是bool类型,但是在JS里面这些定义会被彻底颠覆,正是这些新规则,所以我们可以完成很多新花样,比如在jquery的源码中,可以到处都能找到这样的痕迹。
从图中我们看到了这么一句,bup=b && b.parentNode,你能理解这句话的意思吗?其实它的意思是先判断b是否存在,如果b不存在,那
可能b就是undefined,null,0 或者NaN,如果b存在,那么就返回m.parentNode,就这么好玩,如果你用C#的话,就少不了几个if条件了,
也算是简化代码吧,然后再看看||操作,这个简直在源码里面可以用泛滥来形容了,不过乍一看,特别像是C#中的可空运算符,所以亲切感倍
增,下面就拿ret=results||[]来说,如果results有值,那么ret=results,如果results为null,undefined,NaN或者0,那么result=[],就
这样的任性,省去了程序员很多if判断,最后要补充一句,其实就像C#的IL中一样,只是JS底层给我们做了if判断。
相关推荐:
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
ChatGPT您的应用遇到问题,无法正常启动?如何解决并重新体验智能助手的魅力!,男头ai关键词
SEO费用如何根据预算选择最合适的SEO服务,营销类推广网站
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
wordpress seo是什么,wordpress建站seo好做吗 ,学习图文ai
亚马逊站内seo是什么优化,亚马逊seo关键词优化软件 ,ai画卡通章鱼
ChatGPT中文版下载免费版:智能对话新时代,尽在,ai光波
SEO地址优化的秘诀:提升网站排名与流量的关键,临沂如何优化网站关键词
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
ChatGPT页面空白无法登录?如何解决这一困扰?,温州ai字幕生成
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
ChatGPT4账号共享-让AI助力你的学习与工作,轻松提升效率,ai巨无霸
SEO优化如何为网站做好关键词研究和优化,ai直通
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
SEO优化关键词品牌:如何通过精准的关键词提升品牌价值,ai免费智能写作论文
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
360ai问答-智能时代的全能助手,未来的智慧生活,ai生成白底
什么是seo反连接,网站反链多好还是少好 ,网易ai产品
ChatGPT页面无法访问?解决方案,让你轻松摆脱困扰!,ai染发颜色
如何利用AI生成高质量文章,提升写作效率与创意?
ChatGPT破解版:让人工智能助力你的工作与生活,ai cos帽
软件AI:颠覆未来的智能革命
ChatGPT故障:科技背后的秘密与应对策略,华为什么手机带ai功能
SEO公司核心业务是什么?揭秘提升网站排名的奥秘,写作助手ai一键生成作文在线
ChatGPT:打破语言障碍,理解与沟通的新时代,交通轨道ai
SEO资讯:最新趋势,提升网站排名,快速突破流量瓶颈,廊坊seo推广咨询服务
专业SEO助力企业在激烈市场竞争中脱颖而出,嘉兴海外网站推广价格
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
AI自动生成:开启智能时代的无限可能,ai熊熊图片
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
未来写作新方式原创AI文章的无限可能
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
SEO建议:如何通过优化提升网站流量,赢得市场竞争,自媒体网站免费推广平台
亚马逊中什么是seo,亚马逊sop ,ai临摹中国名画
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
亚马逊seo信息是什么,亚马逊seo关键词优化软件 ,光谷ai
seo营销到底是什么,seo算什么营销 ,ai里面新建
SEO总计:如何通过SEO优化实现网站流量和排名的飞跃,三元桥网站优化
seo系列什么意思,seo的分类 ,que n ai je
SEO短视:为何眼前的成效不能成为长久的策略?,网站上线seo优化
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
ChatGPT桌面版无法加载?快速解决方案及常见问题解析,ai媚眼
ChatGPT在处理文本时可能无法完全理解上下文的复杂性,肌肉ai
什么是seo公司口碑,seo品牌 ,ai大模型训练是什么意思
一键创作,助你轻松实现创意梦想,最低价刷粉网站推广
为什么seo吸引人,为什么seo吸引人呢 ,ai路径查找器绘制树
ChatGPT中显示已进行一处编辑,但看不到内容?你需要了解的隐藏问题!,ai敲