有关 JavaScript 的 10 件让人费解的事情

JavaScript 可算是世界上最流行的编程语言,它曾被 Web 开发设计师贴上噩梦的标签,虽然真正的噩梦其实是 DOMAPI,这个被大量的开发与设计师随手拈来增强他们的 Web 前端的脚本语言,如今越来越被重视,虽则如此,JavaScript仍然拥有很多让人费解的东西。

1. 它以 Java 命名,但并不是 Java

它最初叫 Mocha, 接着改名为 LiveScript,最后才确定命名为 JavaScript,根据历史记录,Java 的命名与Netscape 和 Sun 之间的合作有关,作为交换条件,Netscape 在他们备受欢迎的浏览器中创建了 Java运行时。值得一提的是,这个名字的出台几近一个玩笑,要知道,LiveScript 和 Java 在客户端脚本方面存在敌对关系。

不管怎么说,人们后来不得不一再澄清的一件事就是,JavaScript 和 Java 毫无关系。

2. Null 是个对象?

看看这段代码,它返回的是 object。

这实在令人费解,假如 null 表示空值,它怎么可以是对象?简单说,它是 JavaScript 最初版本的错误,这个错误甚至被微软的 JScript 直接借用。

3. NaN !== NaN

NaN,表示一个非数字的值,然而问题是,NaN不等于任何东西,甚至不等于它自己。

这显然不对,事实上,如果要判断一个值确实是 NaN,你需要用 isNaN() 函数。

4. 全局变量

对全局变量的依赖一直被视为 JavaScript 最坏的部分(ECMA 的 JavaScript 5 已经去掉了全局变量,请参阅 ECMA 推出 JavaScript 5 - 译者注)。对简单的页面,这无所谓,但复杂的页面,如果包含大量 JavaScript 脚本,你很难知道某个全局变量是在哪里声明的,如果几个全局变量不小心重名,就会引发错误。

时间: 2024-08-03 22:42:33

有关 JavaScript 的 10 件让人费解的事情的相关文章

JavaScript 10件让人费解的事情_javascript技巧

1. 它以 Java 命名,但并不是 Java 它最初叫 Mocha, 接着改名为 LiveScript,最后才确定命名为 JavaScript,根据历史记录,Java 的命名与 Netscape 和 Sun 之间的合作有关,作为交换条件,Netscape 在他们备受欢迎的浏览器中创建了 Java 运行时.值得一提的是,这个名字的出台几近一个玩笑,要知道,LiveScript 和 Java 在客户端脚本方面存在敌对关系. 不管怎么说,人们后来不得不一再澄清的一件事就是,JavaScript 和

你应该知道的10件关于Java 6的事情

<What's New in Java SE 6 Beta 2>一文中描述了你应该知道的10件关于Java 6的事情,下面总结如下 1.Web Services. 优先支持编写 XML web service 客户端程序.你可以用过简单的annotaion将你的API发布成.NET交互的web services. Mustang 添加了新的解析和 XML 在 Java object-mapping APIs中, 之前只在Java EE平台实现或者Java Web Services Pack中提

“双11”凌晨惊现抢货王10件商品被同一人秒到

"出血给各位亲上了些1.1折的货,几乎都被这位宝妈给抢了!"双11零点刚过,一条淘宝店家对刚刚发生的"双11"秒杀吐槽微博内容被火热转发评论,而吐槽的最主要的原因竟然是他家的10件秒杀物品竟被同一人秒到,让人不得不怀疑秒杀背后有"猫腻".从淘宝店家发布的一组淘宝旺旺 对话内容可以看出,他亏本让利拿出20余件商品参加双11秒杀活动,本想借此扩大影响力,吸引客流,但是在最终统计成功秒杀买家时候,却发现其中将近10件商品全被一人包圆.店主晒出自己的特价

注意!PHP 7中不要做的10件事_php实例

切记,在PHP 7中不要做的10件事 1. 不要使用 mysql_ 函数  这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现.   2. 不要编写垃圾代码  这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题.不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快.  为了理解速度有多重要,以及如何把事情做得更

IE6死后让网页设计者高兴的10件事

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 很多人以为IE6已经死了,也许只有设计师这样认为,现实世界中IE6的使用者大有人在,不过不会维持很久,IE8已经推出,微软对IE8的推广不遗余力,同时,不少人从IE转到别的浏览器,总有一天,IE6会被弃之如敝履,没有人愿意再提起,那时,有10件事会大快人心. 使用 CSS 2 的 child 选择器 不必再写一大堆规则在某个对象的子对象中筛选

注意!PHP 7中不要做的10件事

切记,在PHP 7中不要做的10件事 1. 不要使用 mysql_ 函数 这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现. 2. 不要编写垃圾代码 这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题.不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快. 为了理解速度有多重要,以及如何把事情做得更好,请看一

使用Office 365前请注意以下10件事

目前的市场上报道者很多关于微软Office 365的炒作,厂商.客户或者企业都对此有不同的看法.Office 365是微软云版本的Office,用户可以通过互联网创建一个帐户,付款.下载应用安装,然后使用,这一过程中不需要使用光盘.如果企业用户认为使用Office 365对于公司来说是正确的一步的话,那么管理者就有必要以下着10件事情. 1.什么是云? 云是一个行业术语,指异地文件托管服务.当使用Office 365文件的时候,用户使用Windows SkyDrive(微软的云)上传并同步文件.

10件你所不知道的微信

无论是互联网业界的人,还是非互联网领域产品的粉丝,都没有完全的了解微信.微信团队以及张小龙本人,因为张小龙甚少在公众场合出现,以前也只有在极客公园的活动上微信团队进行过分享. 2月底的时候,微信负责人.腾讯副总裁张小龙接受<商业价值>杂志和极客公园的采访,其中有聊到很多话题都具有启发性.对此,我们将采访的内容进行了整理,分成几篇文章.本文是专访系列的第一篇,关于微信你可能不知道的10件事. 事实上,极客公园一直在跟踪微信的发展,在版本4.0 后,我们几乎每个版本都给读者以不一样的视角来解读这个

智能手机用户常干的 10 件蠢事

美国趣味科学网站近日列出了以下这10件使用智能手机的"蠢事",并很毒舌地表示,如果你用智能手机经常干其中的任何一件,那么你或许就不该拥有这么高端的手机.你中枪了吗? 1.不停地拍食品并分享 拜托,人们唯一希望盯着看美食照片的时刻,是看菜单点菜前. 2.发短信解决争论 你将来丧失交流的两个关键部分:内容和语气. 3.在演唱会上高举手机 在演唱会上举起手机代替荧光棒和打火机,是很酷,但5年前人们就这么干了. 4.没完没了地噘嘴自拍 真希望智能手机上的前置镜头拍摄功能从未被发明出来. 5.在