Hãy nhìn vào đoạn mã sau:cú pháp Strange các phương pháp số trong JavaScript
Number.prototype.isIn = function() {
for (var i = 0, j = arguments.length; i < j; ++i) {
if (parseInt(this, 10) === arguments[i]) {
return true;
}
}
return false;
};
var x = 2;
console.log(x.isIn(1,2,3,4,5)); // <= 'true'
console.log(2.isIn(1,2,3,4,5)); // <= Error: 'missing) after argument list'
Tại sao khi đó là một biến, mã hoạt động chính xác nhưng khi nó là một số chữ, nó không thành công?
Và cũng lạ, tại sao dòng sau hoạt động?
console.log((2).isIn(1,2,3,4,5)); // <= 'true'
Trong dòng trên, tôi cơ bản đính kèm chữ trong dấu ngoặc đơn.
'x = 10' và' x = số mới (10) 'không tương đương. –
Đúng: 'alert (typeof 10);' so với 'alert (typeof new Number (10));' –
Cảm ơn các bạn đã sửa. – Cammy