求助:为什么换成console.log会报错

<!doctype html>
<html lang="en">
<head>
<title>test</title>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>

</style>

</head>
<body>




<script>

function Range(m,n){
if(isNaN(m/n)){return false}
this.min = Math.min(m,n);
this.max = Math.max(m,n);
}

Range.prototype = {
includes:function(x){return x>this.min && x<this.max},
foreach:function(fn){for(var i=this.min;i<this.max;i++){fn(i)}},
toString:function(){return ""+this.min+this.max}
}

var range = new Range(10,3);

range.includes(12);
range.foreach(alert); //为什么把alert换成console.log就会报错呢(uncaught typeError:illegal invocation)?
range.toString();


</script>


</body>
</html>

原文地址:https://www.cnblogs.com/Jerry1985/p/6032756.html