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

 

待续......

posted on 2013-05-26 01:10  itmyhome  阅读(340)  评论(0编辑  收藏  举报

导航