js数据类型

一、js数据类型

1、typeof判断数据类型                          var i=1;alert(typeof i)     //number

2、number数字类型,可以进行+,-,*,/等运算(包括NaN)

3、string  字符串类型,例如var a=" abc ";

  • 可以获取字符串的长度(字符串的长度包括空格)   alert(a.length;)     //5
  • 获取某一个子字符串                                        alert(a.charAT(1))  //a

4、boolean布尔值:true,false

5、函数类型

6、object对象类型,可以添加自定义属性:window,document,数组,json,null(不可以添加自定义属性)

7、undefined未定义

二、数据类型转换

1、字符串转换成数字类型

(1)显式类型转化(强制类型转化):Number();parseInt();parseFloat();

  var a="100";

  var b="";

  var c=true;

  var d=function(){alert(1)};

  var e=[];

  var f=[123];

  var g=[1,2,3];

  var json={abc:123};

  var h=null;

  var i;(undefined);

  • Number(a)   //100 
  • Number(b)   //0 
  • Number(c)   //1
  • Number(d)   //NaN
  • Number(e)   //0
  • Number(f)  //123
  • Number(g)   //NaN
  • Number(json)   //NaN
  • Number(h)   //0
  • Number(i)    //NaN

  var j="100px";

  var k="12.34元"

  • parseInt(j)   //100                从左到右依次转换,适合转换带有数字的字符串,开头以+,-,*,/, ,也可以被转化
  • Number(j)     //NaN
  • parseInt(k)  //12
  • parseFloat(k)   //12.34          识别小数点
  • parseInt(j,10)  10表示用10进制转

(2)隐式类型转化:-,*,/,%,++,--,>,<,!(取反),==,

alert("10">9)   //true

alert("10">"9")  //false

alert(!"ok")       //false   

alert("2"==2)    //true

alert("2"===2)   //false     没有隐式类型转化作用

(3)NaN:not a number 不是个数字的数字类型,一旦写程序中出现:NaN,肯定进行了非法的运算操作

  • 作为if判断是false
  • NaN与自己做比较结果为false            alert(NaN==NaN)     //false

isNaN 判断某些值是不是数字,不喜欢数字

  • alert(isNaN(2));结果为false;
  • alert(isNaN(我爱你));结果为true;
  • alert(isNaN("250"));结果为false;         原理:先用Number()进行转化,结果为数字,isNaN为false;如果结果为NaN,isNaN为true;只讨厌数字,不是讨厌数字类型
posted @ 2017-09-22 18:39  小奔的早晨  阅读(136)  评论(0编辑  收藏  举报