javascript微记录--数据类型
任何一门编程语言都是用来解决现实问题的,那是如何解决的呢? 为此,我们为问题创建了数据模型,根据数据模型模拟问题,从而才让计算机解决问题成为可能!
数据是计算记录信息的基础,那么javascript中如何记录这些数据信息,其基本的编程数据结构有哪些呢?总结下javascript中的数据类型:
在 JavaScript 中,包含三种基本的数据类型:字符串(String),数值(Number),布尔值(boolean)。
1.字符串类型:var str = “abc”;(var str = 'abc';) 用单引号或双引号定义初始化一个字符串变量。
2.数值类型:var num = 12; var num = 1.2;js中只有一种数值类型,并且内部使用64位浮点型表示;有两个特别的数值:Infinity和NaN,Infinity表示无穷大(-Infinity表示负无穷大),而NaN表示“not a number”,NaN还是js中唯一一个自己不等于自己的对象,即NaN==NaN 结果是false。js中判断一个对象是否能转型为number类型,用isNaN()。
3.布尔型:true 或者false
注意:还有一个undefined 表示未定义,这个和null有很大的区别,null表示定义了,其实null是一种对象(意义是空,不存在的);而undefined表示未声明,无法识别的东西 。
我们通常用typeof来查看某个变量的类型,typeof (基本字符串类型)= =string ;typeof(基本数字类型) == number;typeof(基本布尔型)= =boolean;typeof(undefined对象) = =undefined; typeof(null) = =object;
另外出基本类型外,就是对象类型:
这里提到的对象不是对象本身,而是指一种类型,此处的对象包括,对象(属性的集合,即键值的散列表),数组(有序的列表),函数(包含可执行的代码)。
对象类型是一种复合的数据类型,其基本元素由基本数据类型组成,当然不限于基本类型,比如对象类型中的值可以是其他的对象类型实例。
typeof(数组对象)== object ;typeof(对象实例)==object ;typeof(函数对象)==function;可以用instanceof 来判断对象实例属于哪个具体的类(即对象实例的抽象)。
注意:
类似与 Java 中基本数据类型的自动装箱拆箱,JavaScript 也有类似的动作,基本数 据类型在做一些运算时,会临时包装一个对象,做完运算后,又自动释放该对象。而将对象转换为基本类型则是通过这样的方式:通过调用对象的 valueOf()方法来取得对象的值,如果和上下文的类型匹配,则使用该值。如果 valueOf 取不到值的话,则需要调用对象的 toString()方法,而如果上下文为数值型,则又需要将此字符串转换为数值。