js的基本数据类型学习

  var

  在js中只有var这一种基本的动态数据类型(弱类型),其中包含了number,字符串类型,布尔,数组,Object类型以及null和undfined。


 (1)字符串类型和number


var f = '123'; 
f = 10;
  此时 虽然 f原本为String但是当赋值为number时,js内部自动完成了转换。

var a = "123";  
a += 10;  
var b = 10;  
b ="123" + b;  


 此时结果ab,均为 "12310"。


(2)boolean

var a = 10;
var b = "0"; 
var c =undefined;
 var d = NaN; 
var e = ""; 
var f = null; 
alert(Boolean(a));
 alert(Boolean(b)); 
alert(Boolean(c)); 
alert(Boolean(d)); 
alert(Boolean(e)); 
alert(Boolean(f));  


 此时 结果:a,b true   c,d,e,f false 其中 number类型非0即true,String非空即true。


(3)数组

  js中数组可以越下标赋值,未赋值的元素值为undefined(可想越界也为undefind)。

    var a = ["AAA","BBB"];  
    a["AAA"] = ["1","2","3"];  
    a[1] = ["4","5","6"]  
    alert(a[0][0]);    //A  
    alert(a["AAA"][0]);//1  
    alert(a[1][0]);    //4  
    alert(a["BBB"][0]);


  js中当后面一维的数组是以前一维的字符串内容写进,则取出时也需要以字符串取出,若以下标取,则拆分前一维的字符串内容。



(4)Object

  依然是所有数据类型的父类

    var a = {name:"小明",age:15};  
    alert(a.age); 


(5)undefined

需要注意的是 undefined是有值的,而此类型的值均为 undefined。

对于尚未声明过的变量,只能执行一项操作,就是使用typeof操作符检测其数据类型(但在严格模式下会导致错误)

 出现场景:

         已声明未赋值的变量

         获取对象不存在的属性

         无返回值的函数的执行结果

         函数的参数没有传入

         void(expression)


(6)null

    Null类型只有一个值,就是null,逻辑角度看,null值表示一个空对象指针

    如果定义的变量将用于保存对象,最好将该变量初始化为null

    实际上undefined值是派生自null值的,所以undefined == null

     出现场景:对象不存在时

     类型转换

        Boolean(null):false

        Number(null):0

        String(null):'null'       

     null是空对象指针,而[]是空数组,{}是空对象,三者不相同

     null不能添加自定义属性


(7) NaN

            NaN与任何值都不相等,包括NaN本身

            任何涉及NaN的操作都会返回NaN

            isNaN()来判断这个数字是不是NaN,包含着隐式类型转换Number()



参考博客http://www.jb51.net/article/71549.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值