有一家葡萄牙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我的錯誤,我打開了要問另一個問題,我沒有來完成,忘了改標題..;) –