创建的Number.isInteger(x)无法在IE中工作

hua*_*990 8 javascript internet-explorer numbers isinteger

Number.prototype.isInteger = Number.prototype.isInteger || function(x) {
  return (x ^ 0) === x;
}
console.log(Number.isInteger(1));
Run Code Online (Sandbox Code Playgroud)

将在IE10浏览器中抛出错误

Muh*_*yaz 9

显然,IE分别处理DOM对象和Javascript对象,并且您无法使用Object.prototype扩展DOM对象.

IE不允许你使用非原生的原型..

你必须创建一个单独的函数(全局,如果你想)

function isInteger(num) {
  return (num ^ 0) === num;
}

console.log(isInteger(1));
Run Code Online (Sandbox Code Playgroud)