第一部分 Javascript 基础 第1节 javascript 数据类型

javascript 数据类型 (引用了《悟透 javascript 》的内容

1,简单数据类型

undefined

undefined: 表明一切未知的事物,什么也不是,连"空"都不是,这种东西代码没法处理!
什么叫没法处理?
只要有undefined参与的运算最终的结果都不能使用 javascript

  1. var a; 
  2. alert("undefined+1="+(a+1));//NaN,undefined没法解析,因而在数值运算中undefined就被解析为NaN。
  3. alert("undefined*1="+(a*1));//NaN,undefined没法解析,因而在数值运算中undefined就被解析为NaN。
  4. alert("undefined+'str'="+(a+'str'));//undefinedstr,字符串也只能是把undefined打印出来了。

在真值判断中undefined也被解释为false,这个什么也不是的东西,是怎么也不能解释为true的! java

  1. var a;if(a){...}else{//走这个}

但它倒是全局对象window的一个属性[alert('undefined' in window);//true];
注意:它不是javascript的关键字,这也就意味着你能够为一个对象定义一个属性名字为"undefined"[obj.undefined=1],可是通常不建议这么作。
typeof(undefined) 返回也是 undefined。
能够将undefined赋值给任何变量或属性,但并不意味了清除了该变量。
若是你从一个undefined的变量中读取属性的话,那就等着浏览器报错吧。因此在程序中读取不肯定的变量的属性的时候必定要先判断这个变量是否可用。 浏览器

  1. if(a){ 
  2. //....

null

null:空,不存在任何东西,可是程序能够对他进行处理!
什么叫能够处理? spa

  1. var a=null; 
  2. alert("null+1="+(a+1));//1,这代表在数值运算中null被解析为0
  3. alert("null*1="+(a*1));//0, 这代表在数值运算中null被解析为0
  4. alert("null+'str'="+(a+'str'));//nullstr,把null打印出来

注意:typeof(null)返回object(为何是object,这个真解释不了,javascript就这么定义的),但null并不是object,具备null值的变量也并不是object。
在真值运算中null被解释为false。[var a=null;if(a){...}else{//走这个}]. orm

boolean

boolean:再明确不过的东西,无需解释。
注意:undefined,null,"",0,NaN在真值运算中都将解析成false!Infinity 却被解析成true! 对象

number

number: 数字,包含内置对象,NaN和Infinity
注意:typeof(NaN)和typeof(Infinity)都返回number 。
NaN参与任何数值计算的结构都是NaN,并且 NaN != NaN 。Infinity / Infinity = NaN 。 ip

string

string: 字符串。任何东西和字符串作+运算都将获得字符串。 字符串

2,复杂数据类型

object

复杂数据类型
object:在JavaScript中无论多么复杂的数据和代码,均可以组织成object形式的对象。 string

3,特殊的function类型

function

function
若是一个变量可以被执行,那么能够说这是一个function类型的对象。 it

相关文章
相关标签/搜索