1.
Boolean类型转换:
1.对于String:只有非空字符串为真
2.对于Number:除了0和NaN之外都为真
3.对于Boolean:true为真
4.对于Object:除了null之外都为真
5.undefined为false;
1 <html> 2 <body> 3 <script type="text/javascript"> 4 var test=new Boolean(); 5 document.write(test); 6 document.write("<br />"); 7 8 var test=new Boolean(0); 9 document.write(test); 10 document.write("<br />"); 11 12 var test=new Boolean(null); 13 document.write(test); 14 document.write("<br />"); 15 16 var test=new Boolean(""); 17 document.write(test); 18 document.write("<br />"); 19 20 var test=new Boolean(NaN); 21 document.write(test); 22 document.write("<br />"); 23 </script> 24 25 </body> 26 </html>
false false false false false
2.
1 var a,b; 2 (function(){ 3 alert(a);//这是第一个输出的,先在局部没找到a变量,然后去全局找,找到了但没定义,输出undefined 4 alert(b);
//这是第二个输出的,其他同上
5 var a=b=3;//定义一个局部变量a=3,然后给全局变量b赋值 b=3; 6 alert(a);//这是第三个输出,局部变量a=3 7 alert(b);/这是第四个输出,全局变量b=3 8 })(); 9 alert(a);//这是第五个输出,全局变量a=undefined 10 alert(b);//这是第六个输出,全局变量b=3
var a=b=3 时a是局部变量,而b是全局变量
3.下列代码存在几个变量没有被回收?( )
var i = 1; var i = 2; var add = function() { var i = 0; return function() { i++; console.log(i); } }(); add();
1:全局变量i不会被回收
2:全局变量add不会被回收
3:闭包引用的局部变量i不会被回收
4.以下输出结果为object的是( )AC