下面这些练习题都是《JavaScript面向对象编程指南》上的,闲得蛋疼把这些题做做。随便向入门新手安利一下这本书,我觉是非常不错。
第2章 基本数据类型、数组、循环及条件表达试
1.如果我们在控制台中执行下列语句,结果分别是什么?为什么?
var a; typeof a;
//undefined 因为a是未定义
var s=”1s”; s++;
//NaN “1s”强制转换为数字失败,返回NaN
!!”false”;
//因为字符串”false”是真值
!!undefined;
//false 因为undefined是假值
typeof -Infinity;
//number
10%”0”
//NaN 然而10/”0”是Infinity
false===”“;
// false 全等判断不会有隐式类型转换
typeof “2E+2”;
//string 因为在引号里面,”2E+2”是字符串,如果是2E+2,是number
a=3e+3; a++;
//3001 3e+3是3000,a++后变成3001
2.执行下面语句后,v的值会是什么?
var v = v || 10;
如果将v分别设置为100、0、null,结果又将是什么?
首先,var v = v || 10;结果是v的值是10;
(1)javascript是惰性求值