你真的了解JavaScript吗?
说出它们的值
1、typeof(NaN) 、typeof(Infinity)、typeof(null)、typeof(undefined)
2、NaN == NaN
3、NaN != NaN
4、NaN >= NaN
5、null == undefined
6、null >= undefined
7、null <= undefined
8、parseInt("123abc")
9、"123abc" - 0
10、Infinity > 10
11、Infinity > "abc"
12、Infinity == NaN
13、true == 1
14、new String("abc") == "abc"
15、new String("abc") === "abc"
说出它们的输出结果
1、
var a = "123abc";
alert(typeof(a++));
alert(a);
2、
var a = "123abc";
a.valueOf = function(){return parseInt(a);}
alert(++a);
alert(a-0);
3、
var a = new Object();
a.toString = function(){return "123abc";}
a.valueOf = function(){return parseInt(a);}
alert(++a);
alert(a-0);
4、
String.prototype.valueOf = function()
{
return parseFloat(this);
}
alert("123abc" > 122);
alert(new String("123abc") > 122);
5、
var s = new String("abc");
alert(typeof(s) == typeof("abc"));
alert(s === "abc");
alert(s.toString() == s);
6、
var a = new Object();
a.toString = function(){return "a"};
var b = new Object();
b.toString = function(){return "b"};
alert(a>b);
a.valueOf = function(){return 1};
b.valueOf = function(){return 0};
alert(a>b);
7、
function step(a)
{
return function(x)
{
return x + a++;
}
}
var a = step(10);
var b = step(20);
alert(a(10));
alert(b(10));