被写烂了的JS数据类型
栏目: JavaScript · 发布时间: 6年前
内容简介:the part that is good is not original, and the part that is original is not good.--Samual johnsonJS之父曾引用英国诗人的这句话来评价其创造的JavaScript语言。信息量挺大,详见JS诞生时的历史。众所周知,JS有七种数据类型: number string null undefined object boolean symbol,其中symbol目前不很常用。“数据类型有什么好讲的,直接用不就是了?”,如果
the part that is good is not original, and the part that is original is not good.--Samual johnson
JS之父曾引用英国诗人的这句话来评价其创造的JavaScript语言。信息量挺大,详见JS诞生时的历史。
众所周知,JS有七种数据类型: number string null undefined object boolean symbol,其中symbol目前不很常用。“数据类型有什么好讲的,直接用不就是了?”,如果你对一个人足够感兴趣,我想你会去想了解他的前半生的。
由于Brendan创造JS的时候很大程度上借鉴了 Java 的数据类型,所以这里我们来比较一下两者的数据类型。可以明显看出,关于数值的各个类型被brendan统一成number,只要是数值相关的,那在js中就是number类型,不管形式,不管大小(其实管,后文会提到)。char在js中对应了string。为纪念伟大的乔治·布尔先生,brendan没有对boolean进行任何改动(瞎猜的)。引用类型就有趣了,万物归于object。
为什么JS可以一个number解决所有的数值类型,或者说一个变量就可以任意类型的数据。答案在你开始学习JavaScript的那几段话中, “JavaScript是一种动态类型、弱类型...的语言” 。动态类型意味着在声明一个变量之后,可以存储不同类型的变量。也就是说在JS中声明一个变量a,他的初始值是13, var a= 13
, 在这语句之后,你仍然可以再写一个这样的语句 a = '13.333'
来改变a的值且不会报错,甚至可以写 a = 'name is sam'
。
不扒历史钻字眼了,探索和收敛的度需要控制好。下面逐一介绍每个数据类型。
number
- JavaScript内部,所有数字都是以64位浮点数形式存储,整数也是。
- JavaScript能够表示的数值范围是2^-1023到2^1024,超出的范围的数无法表示。
- 溢出能够表示的范围会返回Infinity(正数)或者0(负数)
- 数值可以有多种表示方法,字面形式和科学计数法。
- 字面形式:35 0xFF(十六进制) 123e。
- 除以下情况外都采用字面形式表示,小数点前数字多于21位或后的零多于5个。
- 有四种进制来表示字面量:十进制 十六进制 八进制 二进制。
- 属于number类型的特殊数值:-0 +0 NaN 正负Infinity。
- NaN参与的绝大部分运算都会得到诸如NaN false 这样的答案。
- 数值相关的全局方法 parseInt() parseFloat() isNaN() isFinite()
string
- 字符串默认只能写在一行内,分成多行将会报错,如果必须,要在每一行的结尾使用反斜杆,但反斜杆后不能有诸如空格的其他字符。
- 连接运算符 + 可以连接多个单行字符串,将长字符串拆成多行书写。
- length属性返回字符串长度。
- 由于历史原因,JavaScript使用Unicode字符集。
- btoa()将任意值专为Base64编码,atob()将base64编码专为原来的值。
null & undefined
tyepof null //object
Boolean
- 除了以下值: undefined null false 0 NaN "" 或者' '其他值都视为true。
- 空数组和空对象都是true。
object
(Object.keys(obj)).length delete obj.p 'p' in obj
学到的东西不够多,就无法把这些点恰如其分的串联起来。:(
以上所述就是小编给大家介绍的《被写烂了的JS数据类型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 【数据类型】js的数据类型
- Python中不可变数据类型和可变数据类型
- 重学JS: 数据类型及类型检测
- JS专题之数据类型和类型检测
- 6. Go 语言数据类型:字典与布尔类型
- Redis 入门-数据类型:3 种特殊类型详解
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++ Primer Plus
Stephen Prata / Addison Wesley / 2011-10-18 / GBP 39.99
C++ Primer Plus, Sixth Edition New C++11 Coverage C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible an......一起来看看 《C++ Primer Plus》 这本书的介绍吧!