gpt4 book ai didi

Javascript 字符串评估

转载 作者:行者123 更新时间:2023-11-29 19:53:41 26 4
gpt4 key购买 nike

有一家葡萄牙 IT 公司正在寻找一些领域的开发人员,出于好奇(因为我已经找到工作,谢天谢地)我去查看了招聘信息。

当我去查看 JS 开发人员的帖子时,他们提供了一段 JS 代码,引起了我的注意。我已经使用 JS 工作了一段时间,我发现自己不时回到使用 JS 编程,但老实说,我从未见过任何与给出的代码相似的东西。

这是代码:

!(function(x){
'6D 61 6E'.split(' ').forEach(function(a){
x+=String.fromCharCode(parseInt(a,16));
});
return x;
})('');

我在 Chrome 的 JS 控制台上写了这个,输出是“false”。如果我理解正确,“奇怪的”代码,根据 ASCII 表读取“m a n”,并且 parseInt 应该返回基于十六进制基数的整数。然后再次将其转换为字符串,这次是基于 chars 十进制值。为了完成这一切,我们通过“否定它”来评估返回的“x”(不是我要找的词,但当时不记得更好的词......也许评估?)。

那么,为什么输出是假的呢?如果我们不评估返回结果是预期的一个“人”,但我不明白为什么我们在这个特定实例上得到 false。

有人愿意详细说明吗?

最佳答案

因为你似乎已经锻炼过了,

return x;

...将返回字符串“man”。但您的问题似乎归结为为什么 !"man" 给出 false

来自 MDN , 逻辑非 !:

Returns false if its single operand can be converted to true; otherwise, returns true.

空字符串 "" 是假的,所以 !""true,但是任何其他字符串都是真,所以 !"any other string"false

关于Javascript 字符串评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16689067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com