!答案为什么会是true?
〔〕!〔〕答案为什么会是true?解析1〔〕!true!操作符的优先级高于,所以先执行!操作;!是取反操作,空数组是对象,对象为真,取反之后就为false了〔〕false!true得到的是false〔〕0比较规则1:如果值为true或false,则转成1或0来继续比较〔〕0执行左侧的〔〕的valueOf方法,而〔〕是对象,所以〔〕。valueOf()返回本身〔〕0执行左侧的〔〕的toString方法,〔〕。toString()返回00比较规则2:如果一个值是数字,一个值是字符串,则把字符串转换为数字,再进行比较,转成数字是0。最终是执行00,结果为true。解析2
首先,!是取反操作,空数组是对象,对象为真,取反之后就为false了。
然后,相等运算符的比较有指定的规则,具体请参阅诸如《JavaScript权威指南》或者《JavaScript高级程序设计》等书目。其中有两条指出:如果其中一个值是true,则将其转换为1再进行比较。如果其中一个值是false,则将其转换为0再进行比较。如果一个值是对象,另一个值是数字或字符串,则将对象转换为原始值再进行比较。对象通过toString()方法或valueOf()方法转换为原始值。JavaScript语言核心的内置类首先尝试使用valueOf(),在尝试使用toString(),除了日期类,日期类只使用toString()方法,那些不是JavaScript语言核心中的对象则通过各自实现中定义的方法转换为原始值。
有了以上两条作为基础,我们再来看问题。
控制台指出等号右边为布尔值,由第一条可知,它将转换为数字0,也就是数字类型。
现在变成了空数组和数字0的比较。由第二条可知,空数组会首先调用valueOf()方法,但是这里需要注意的是:数组、函数和正则表达式调用valueOf()方法后,只返回对象本身。
所以,继续调用toString()方法,空数组调用toString()后,众所周知会返回0;于是两边相同。也就是为什么有了后面所示结果的原因了。!〔〕true1!〔〕false0!〔〕true可以一句话概括:任意值与布尔值之间的比较都是数字0和1之间的比较。
!〔〕true
1!〔〕false
0!〔〕true
可以一句话概括:任意值与布尔值之间的比较都是数字0和1之间的比较。规范
首先,的定义是:
GetValue会获取一个子表达式的值(消除掉左值引用),在表达式〔〕!〔〕中,〔〕的结果就是一个空数组的引用,而!〔〕就有意思了,它会按照11。4。9和9。2节的要求得到false。
在这段算法里,和〔〕!〔〕匹配的是条件7,所以会递归地调用〔〕ToNumber(false)进行比较。在9。3节中定义了ToNumber原语,ToNumber(false)等于0,于是比较变为〔〕0。在此处因为〔〕是对象,比较过程走分支9,依ToPrimitive(〔〕)0比较。ToPrimitive默认是调用toString方法的(依8。2。8),于是ToPrimitice(〔〕)等于空字符串。结果,〔〕!〔〕的比较最后落到了false上,按照11。9。3中的定义会依分支5比较ToNumber()0,ToNumber()依9。3。1等于0,所以结果为true。
难忘万佛山时隔15年之后,正是秋分时节来临的前两天,我们16位都是65岁上下的同学们再次相聚在万佛山下。像当年上山下乡那样,既欢天喜地又不知天高地厚地住进了景区内的依山旁溪的万佛山庄。清晨5
上班族既然提倡大家就地过节,又何必调休来放假呢?北京时间9月26日,距离国庆假期已经不到一周的时间了随着国庆假期的临近,大家并没有太多的期待值由于担心人员流动性聚集性增加,而境外疫情输入风险持续存在,各地纷纷出台文件,倡导大家就
住在大岭山脚下的少年总结的最佳大岭山徒步路线头条创作挑战赛大岭山公园属低山丘陵地貌。园内群山起伏,峰峦叠嶂,山深谷幽。最高点茶山顶海拔530。1米,登上峰顶,可欣赏城市新貌,也可欣赏周边湖光山色。公园内水体资源丰富,各大水库
钱塘江秋景如画进入秋季以来,钱塘江随着气候变化,潮水瞬息万变,涌潮种类丰富,极具观赏性。2022年9月25日拍摄的钱塘江浙江省海宁市黄湾镇闸口村至丁桥镇新仓村段江面。(无人机照片)CICPHOT
安享乡院里生活开心诵读敬请聆听安享乡院里生活文沙漠飞鹰诵福开心深秋季节如画盈一抹情怀勤劳于田间一隅收获满满的仓头赏一院金色的风景在无风处静坐观那棵枣树上颗颗饱满挂满了红晕在阳光下独享葱郁将一颗心思安放在
老头鱼自嘲文谢文孝老头鱼曾几何时,不受青睐的我,亘古以来,倒也生存的安逸妥贴。曾几何时,尝尽天下美食的人啊,变着花样的把我端上饭桌,成为我生命终止的折磨。曾几何时,自己也说不清,是哪里孕育的
绿水青山绿角角金山银山金果果云南楚雄网讯(通讯员鲁丽华)时至盛夏,正值野生八角成熟期,走进红土坡镇海拔高达2861米的打挂山间,随处可见人们采摘八角的身影,一颗颗饱满碧绿的八角果挂满枝头,伴着阵阵微风拂过,沁
金秋时髦穿搭少不了腕间出彩单品封面天天见逛姐出街封面新闻记者郭可欣作为穿搭达人的你,想必已经准备好了秋装来迎接这金色的季节。不过,在服装之外,佩戴的腕表也不要忽视,往往能起到点睛的作用。这不,明星们已经为你做好了范本,只需照搬即
丰台启动金秋文化旅游季,4条秋游线路邀您赏秋北京日报客户端记者孙颖金秋来临,丰台区文化和旅游局携手北京世界花卉大观园北京世界公园北京南宫旅游景区等13家文旅单位推出2022丰台金秋文化旅游季系列活动,打造缤纷游园田园乡村文化
九月,风吹稻成浪,原野正金黄居家月余,走出家门,想去看看九月的原野,想去看看久违的稻浪。一路往西,秋风轻拂,秋光轻洒。路旁,梧叶初黄,杏叶微漾。耳畔,雀鸟声声,车浪阵阵。心里,田地依旧,泥土如故。乡间长大的我
人到老年,只有三件正经事虽然说难得糊涂,但是,人啊,活在这个世上,该清醒的时候还是要有清醒啊,怎么说呢,生活中的陷阱实在太多了,一个不小心,不留意,就又上当了,又被骗了呢!那么,人到老年该如何清醒啊?其实