JS之举世皆知却众人皆醉的数据类型——null、undefined、NaN
对于js里面的两个很让人头晕的数据类型:null和undefined,确实很让人分辨不清。因为对于大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。但是JavaScript语言中,将一个变量赋值为undefined或null,可以说,几乎没区别。
var a = undefined; var a = null;
在做比较判定时甚至直接报告两者相等:
undefined == null; // true
为何js这么不合常理、不和群的有两个表示"无"的值:undefined和null呢,最近才知道,这和 js的历史有关系。1995年JavaScript诞生时,最初像Java一样,只设置了null作为表示"无"的值。根据C语言的传统,null被设计成可以自动转为0。但是,JavaScript的设计者Brendan Eich,觉得这样做还不够,有两个原因。首先,null像在Java里一样,被当成一个对象。但是,JavaScript的数据类型分成原始类型(primitive)和合成类型(complex)两大类,Brendan Eich觉得表示"无"的值最好不是对象。其次,JavaScript的最初版本没有包括错误处理机制,发生数据类型不匹配时,往往是自动转换类型或者默默地失败。Brendan Eich觉得,如果null自动转为0,很不容易发现错误。因此,Brendan Eich又设计了一个undefined。null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
但是,上面这样的区分,在实践中很快就被证明不可行。目前,null和undefined基本是同义的,只有一些细微的差别。现在的常见的用法:
null表示"没有对象",即该处不应该有值。典型用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。 (2) 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)
// null
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
var i; i // undefined function f(x){console.log(x)} f() // undefined var X = new Object(); X.p // undefined var x = f(); x // undefined
NAN并不是一种数据类型,而是Number类型的一个值。英文的缩写:not a number,意思是说:不是数字。当运算无法返回正确的数值时,就会返回“NaN”值。比如0.0/0.0,求负数的平方跟,都是这样。对于NAN的任何运算,都是NaN,因此,只要运算中出现了一次NaN,那么最终的结果就一定会是NaN。如:NaN+NaN,NaN×0,NaN +1,结果都为NaN。
NaN不但与任何数值不等,而且就算是两个NaN的等值比较,结果也是false。
NaN == NaN //false
相关推荐
"举世皆浊我独清"这句诗,正是屈原品格的高度概括,表达了他坚守清白,不与世俗同流合污的崇高精神。 屈原的《离骚》充满了对国家和人民的深切关怀,以及对个人命运的哀怨与抗争。他用诗歌表达了对楚国衰败的痛心,...
他的坚贞不屈,正如“举世皆浊我独清,众人皆醉我独醒”,展现了高尚的道德操守。屈原的形象,是坚韧不屈的象征,他的诗歌则成为了中华文化的重要组成部分。 项羽,秦末起义军领袖,被誉为西楚霸王。他在乌江畔的...
标题引用的“举世皆浊我独清,众人皆醉我独醒”正是作者对当时社会现状的批判,表达了吴敬梓对世俗功名的鄙视和对独立人格的崇尚。 《儒林外史》以王冕的故事作为楔子,寓意深远。王冕的形象象征着作者理想的文人...
持"举世皆浊我独清,众人皆醉我独醒"呢? 看完这本书,欣然合页。我似乎为周围 IT 行业的朋友们找到了应对职业发展的有效方 法。这本书为大家找到了一种在浮躁的时代保持从容态度去工作、生活、学习,一步步地实 现...
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销...
- (1) 举世皆浊我独清,众人皆醉我独醒,是以见放! —— 世界都污浊了只有我清白,众人都昏醉只有我清醒,因此被流放了! - (2) 安能以皓皓之白,而蒙世俗之尘埃乎! —— 怎么能让洁白的身体去蒙受世俗的尘土呢...
在北方有一位美丽的女子,她的美貌举世无双。 她轻轻一瞥就能使整座城市为之倾倒,再次回眸则能撼动整个国家。 难道人们不知晓这样的倾城之美,倾国之色吗?这样的佳人实属难得。 诗中的“倾城、倾国”一词,原意是...
本文将深入探讨“中考语文逐题突破系列——字义篇”中的核心知识点,帮助考生们掌握字义解析的方法和策略。 首先,我们要明白,字义的理解不仅仅是字面意思的把握,更是对词语深层含义的领悟。如题目中提到的第一题...
例如,“上海举世国际房地产公司”便是一个成功的案例。该公司通过建立广泛的销售网络,如“新华人世界行销网”,并利用丰富的客户资源和经验丰富的团队,实现了显著的销售业绩。他们总代理的多个房地产项目在短时间...
【大班科学教案:举世无双的建筑师】是一份教育活动设计,旨在引导幼儿了解鸟类筑巢的多样性,培养他们对自然环境和生物的关爱之情。这份教案以猜谜语为开头,通过讲述和讨论不同鸟类的筑巢方式,激发孩子们的兴趣和...
首先,“桂林山水甲天下”是一个成语,意指桂林的山水风景举世无双。学生需要理解“甲天下”的含义,即“位居天下第一”,这是对桂林山水美景的高度赞誉。教学过程中,教师可以通过引导学生对比桂林山水与其他著名...
他的坚贞不渝和独立清醒,体现在“举世皆浊我独清,众人皆醉我独醒”的诗句中,展现了不屈不挠的人格魅力。屈原的诗词,不仅是文学的瑰宝,更是民族精神的象征。 端午节的庆祝方式,如龙舟竞渡和吃粽子,既是一种...
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销...
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销...
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销...
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销...
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销...
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销...
5. "举世誉之而不加劝,举世非之而不加沮。"——《庄子・逍遥游》 这句话展示了超脱的心态,无论外界如何评价,都不会因此受到影响。孩子们可以学习到保持独立思考和坚定自我价值的重要性。 6. "吾生也有涯,而知也...
【大班说课:举世无双的建筑师】是一篇关于幼儿教育的文档,主要探讨如何通过故事教学来引导大班孩子了解不同鸟类的筑巢方式,培养他们对自然环境和生物的关爱之情。该文档详细阐述了教学设计、目标、方法以及实施...