數的方法奇怪的語法看看下面的代碼:的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'
爲什麼,當它是一個變量,代碼工作正常但是當它是一個數字的文字,它失敗了呢?
而且,奇怪的是,爲什麼下面的行會起作用?
console.log((2).isIn(1,2,3,4,5)); // <= 'true'
在上面的一行中,我基本上將括號中的文字括起來。
'x = 10'和'x = new Number(10)'是不等價的。 – 2009-12-07 16:31:15
正確:'alert(typeof 10);'''alert(typeof new Number(10));' – 2009-12-07 16:35:31
感謝您的更正。 – Cammy 2009-12-07 18:00:16