还没读完,但是读的过程中发现很多貌似错误的地方,真希望有人写个勘误表……在找勘误表未果的情况下,我想在此对一些错误和一些我怀疑是错误或不准确加以记录,内容会随着我阅读进展陆续增加。我是个JavaScript的初学者,说错的地方还请指正,也请大家把自己看到的错误一起集中上来,希望互通有无,也能对其他人有所帮助,更期待有高人做一个完全的勘误表出来:)。
>-------------------------------------------------------------------------
P33,变量的标识
—— “你可以在变量标识符中使用Unicode字符,比如ü”,我相信这样明确的表述一定不是一个错误,但是我使用这种表示方式定义一个标量后会出现错误,IE7和Firefox都是如此,是JavaScript的版本问题么?还是我没有用对?试过charset定义为utf-8了……
>-------------------------------------------------------------------------
P37,作用域
—— 这一节,作者举了一个较大的例子来说明未显式定义变量可能与全局变量混淆带来的副作用,但我认为他的解读是有问题的:
这个例子的奇怪之处在于最后一个alert,即,调用globalPrint后打印的却是"... ...also accessed in global2Print",而不是“... ... alse accessed in global2Print globally in globalPrint”,作者用全局变量、局部变量什么的来解释,但依我愚见,由于message是在外部定义的,所以在任何函数内部都应该是以全局变量对待之,不存在什么全局变量与局部变量的混淆。例子的现象可以简单的解释如下:由于globalPrint是由外部导入的,所以对于函数外的语句:message += " globally in globalPrint";根本没有机会得到运行,message自然就没有被改变。
对这个例子,恳切请达人指教!
>-------------------------------------------------------------------------
P50,习题2.5,第四题:
——对于数字432.52,... ...,如何得到它的十六进制和八进制的转换格式?
书中解答:
var fltNumber = 432.54;
var intNumber = parseInt(fltNumber);
var octNumber = parseInt(intNumber,2); (似乎又是一个打印错误,“2”似乎应为“8”)
var hexNumber = parseInt(intNumber,16);
这个解答的错误在于:parseInt的第二个参数“n”是用来指出第一个参数是“n”进制的,而不是用来把第一个参数转换成“n”进制的。
>-------------------------------------------------------------------------
P69,最后的一小段代码:
sValue = "1.0";
if (sValue >= 2.0) //true
那个"1.0"恐怕是打印错误......
>-------------------------------------------------------------------------
P78,新建一个Boolean对象:
var holdAnswer = new Boolean(true);
可以用下面两种方法来访问:
if (holdAnswer.toValue) ...
if (holdAnswer) ...
但是我用前面一种,即,toValue却无法访问成功,alert出来是undefined,请达人指教。
今天先写这些。
谁能为这本书写个勘误表?
|
p92, 初始化Date对象时,“你可以输入一个从1970年1月1日12点0时0分开始计数的毫秒数。”
12点0时是什么概念?应该就是1月1日0点。
>-------------------------------------------------------------------------------
P95,4.5.2 Math对象
“LN10 以10为底的自然对数”
”LN2 以2为底的自然对数“
这个说法似乎有问题:什么叫以10为底的自然对数?自然对数当然是以E为底。我数学不太好,我以为,应该分别是
“10的自然对数”
“2的自然对数”
请数学达人指教。
2008-04-23 14:14:42: 大笨狗 (日记强国,地图开疆,文件灭倭)
p46第4行:
19.5e-2 (等价于19.5-2)
-----
应该等于19.5*10^-2=0.195
100页
倒数第四段代码
var removed = fruitArray.splice(2,2,'melon,banana');
应为
var removed = fruitArray.splice(2,2,'melon','banana');
倒数第二段代码
fruitArray.splice(2,4);
其中4应该改为3(按照后面注释的说法)
P100 最后一段代码应为
var func = function (params) {
//statements;
}
第一行缺少一个 function
> 我来回应