Javascript 陷阱

被一个JavaScript的问题折腾了好半天。原来是遇到了一个陷阱。

这个错误是这样的。

function foo()
{ foo = ‘Hello world’; }

当这个函数调用第二次的时候,就会报错 Error: foo is not a function.

JavaScript很强大,在JavaScript里,所有的一切都是Object,所有的一切都可以按照Object来操作。问题就处在这,函数也是一个Object,而且,完全不带保护,你可以对其进行操作。因此,函数foo的里面,对foo的赋值就把foo这个函数给覆盖了,后面,foo就是一个字符串了。

总之,这个算不上BUG,可以说是设计中的一种陷阱。以后还是要小心,这种语言太过灵活也容易出问题。尤其是在没有编译器和良好的调试环境的情况下,更容易出问题。

Happy birthday :)

25岁的生日,有40小时。
从北京时间的3月6日零时起,到西雅图时间3月6日24时,40小时的生日。收到领导两份零点祝福,爸爸妈妈也两次在往上联系。
当然,工作还是要做的,这两天都需要上班。不过,还好公司不是很忙。

这边的6日,周五,下班后,和这边的同学、同事朋友一起去吃了一顿很不错的中餐”四季飘香”,这边的中餐馆都有这样的名字。而后去了同事家里去玩,可以说是非常充实。
哦,对了,还有好不容易,见到了百忙之中的Harry大人。Harry工作很忙,每天从早到晚都是会,都是discussion,但还是抽些时间见了见,简单交流了一下心得。总之,在工程部门能学到的东西还是很多的。还要努力学习啊。

周 末,去了Bellevue,逛了逛那边的所谓大型商业中心。不错,和这边东方新天地差不多,很多店。试了试苹果的最新的笔记本,恩,真的很漂亮,着迷呀。 逛了一下Bellevue的艺术博物馆,博物馆不大,不过,建筑设计非常漂亮,其中一段走廊设计及其经典。可惜,里面不让照相,所以,也就没法让大家见到 了。晚上回来,自己炒个鸡蛋西红柿吃饭(这边西红柿非常贵,基本和肉差不多价格,鸡蛋西红柿可是大菜啊),泡个热水澡。晚上,上amazon给家里人买礼 物,顺便给自己买了块手表,也算是送自己的生日礼物吧。

呵呵 总之,生日很快乐,谢谢领导,谢谢爸爸妈妈,谢谢所有朋友们,谢谢大家。