有一家葡萄牙IT公司正在寻找一些开发人员在几个领域,只是出于好奇(因为我已经有一份工作,幸好)我去检查工作发布。Javascript字符串评估
当我去看看JS开发人员发布时,他们提供了一段引起我注意的JS代码。我和JS一起工作了一段时间,我发现自己不时回到JS编程中,但老实说,我从来没有见过类似于给出的代码的东西。
这是代码:
!(function(x){
'6D 61 6E'.split(' ').forEach(function(a){
x+=String.fromCharCode(parseInt(a,16));
});
return x;
})('');
我去写这个Chrome的JS控制台上,输出为“假”。 如果我理解正确,那么“奇怪”的代码,并根据ASCII表读取'm a n',并且parseInt应该返回一个基于十六进制基数的整数。然后它再次被转换成一个字符串,这次基于字符十进制值。 为了完成这一切,我们通过“否定它”来评估返回'x'(不是我正在寻找的词,但当时记不起更好的词......评估也许?)。
然后,为什么输出是错误的?如果我们不评估收益,结果是预期的'人',但我不明白为什么我们会在这个特定的情况下得到假。
任何关心细节?
这与'addEventListener()'有什么关系。 – nnnnnn
@nnnnnn我的错误,我打开了要问另一个问题,我没有来完成,忘了改标题..;) –