Program ini adalah seperti berikut Ia boleh berjalan dan menghasilkan hasil, tetapi ia akan melaporkan ralat... Ia sangat pelik dan saya tidak tahu di mana untuk bermula...
Kod:
function pad(str, len) {
return '0'.repeat(len-str.length) + str
}
function numberAndIPaddress(s){
if (s.indexOf('.')) {
let numbers = s.split('.').map(x=>{ return pad( parseInt(x).toString(2), 8 ) })
return parseInt( numbers.join(''), 2 )
} else {
let number = pad( parseInt(s).toString(2), 32 )
return [ parseInt( number.slice(0, 8), 2),
parseInt( number.slice(9, 16), 2),
parseInt( number.slice(17, 24), 2),
parseInt( number.slice(25, 32), 2)
].join('.')
}
}
console.log( 'result', numberAndIPaddress("10.0.3.193") )
// console.log( numberAndIPaddress("167969729") )
Keluaran:
Cubalah. Pada masa ini kod anda berjalan tanpa sebarang masalah. Tetapi jika anda menjalankan kod yang anda ulas, anda akan mendapat ralat yang hampir sama dengan tangkapan skrin, kerana
len-str.length
ialah nombor negatif. Anda boleh nyahpepijat dan lihat.Selain itu, walaupun eslint juga mungkin melaporkan ralat ini, ia tidak kelihatan daripada mesej ralat anda bahawa ia datang daripada eslint.
Anda boleh merujuk isu ini dahulu: https://github.com/eslint/esl...
Ia mungkin berlaku dalam baris berikut: