Javascript基础
下面这些题目说他是js中的基础,确实是基础,可不借助IDE工具的时候,谁又真正能做出几个......
alert(typeof(NaN)); //Number alert(typeof(Infinity)); //Number,Infinity 属性用于存放表示正无穷大的数值。 alert(typeof(null)); //object alert(typeof(undefined)); //undefined alert(parseInt("123abc")); //123 alert(new String("abc") == "abc"); //true alert(new String("abc") === "abc"); //false alert("abc" == "abc"); //true alert("abc" === "abc"); //true
1、
var a = "123abc"; alert(typeof(a++)); //string alert(a); //Nan
2、
var a = "123abc"; a.valueOf = function(){ alert("***"); //不会执行到此函数 return parseInt(a); } alert(++a); //NaN alert(a-0); //NaN
var a = new String("123abc"); a.valueOf = function(){ alert("***"); //会执行到此函数 return parseInt(a); } alert(++a); //124 alert(a-0); //124
3、
var a = new Object(); a.toString = function(){ alert("toString"); return "123abc"; } a.valueOf = function(){ alert("valueOf"); return parseInt(a); } alert(++a); alert(a-0); //执行结果:valueOf toString 124 124 //先进入valueOf方法 再进入toString方法
4、
var s = new String("abc"); alert(typeof(s) == typeof("abc")); //false 因为 typeof(s) 为object类型 typeof("abc"为string类型 alert(s === "abc"); //false alert(s.toString() == s);
5、
var a = new Object(); a.toString = function(){return "a"}; var b = new Object(); b.toString = function(){return "b"}; alert(a>b); //false a.valueOf = function(){return 1}; b.valueOf = function(){return 0}; alert(a>b); //true