JavaScript的类型体系

一:总体的类型系

基本类型:数字类型(number),字符串类型(string),布尔类型(boolean);

复合类型:对象(对象,函数,数组等);

无类型:null(有定义),undefined(未定义).

js中获取类型:typeof

声明类型统一用:var

基本类型又可以称为数据类型,每种数据类型都有相对应的对象类型(包装类型)。

包装类型的作用:提供属性,方法等功能。

number--Number

string--String      

boolean--Boolean

var number=10;
number.toString();//number是一个基本类型,它又是如何能实现toString()方法的呢?

在数据操作的过程中,number在内存中创建临时的与之对应的包装类型,并执行toString方法,将结果返回,同时释放这个包装类型。

在JavaScript中判断等于和不等于有两种方式:

1.==和!=  

只判断结果是否相同(存在隐式转换的问题)

2.===和!==

判断结果和类型是否都相同

var num=1;
var str="1";

num==str; //返回true
num===str;//返回false

二:三种基本的数据类型

1.string类型:字符串类型

  +;表示连接  

var str1="Hello";
var str2="JavaScript";

var str=str1+str2;//str="Hello JavaScript"

     length;字符串长度

var str="dennis";

var length=str.length;//length的值为6

  charAt(i);获得字符串中某一个位置的字符

var str="dennis";
var char=str.charAt(1);//char=e

  substring(StartIndex,EndIndex);获取子字符串,从开始位置到结束位置

  substr(StartIndex,Length);获取子字符串,从开始位置到指定长度的位置

var str="Hello JavaScript";
var str1=str.substring(0,6); //str1="Hello"
var str2=str.substr(2,6); //str2="llo Ja"

   split('|',数字);将字符串按某个字符分离,其中数字参数是可选的。

<script type="text/javascript">

var str="How are you doing today?"

document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3))

</script>

 结果:

How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you

2. number类型:数字类型

  number类型中有很多方法,参考 http://www.w3school.com.cn/jsref/jsref_obj_number.asp

  几种特殊的数字类型:NaN(不是一个数字的数字类型),判断可以用 isNaN();

            Infinity 无穷,判断可以用 isFinite();

var num=0/0;
alert(num);    //输出NaN

var num1=10/0;
alert(num1);  //输出Infinity

   对应的包装类型Number

  Number.MAX_VALUE  //数字的最大值

  Number.MIN_VALUE  //数字的最小值

  Number.POSITIVE_INFINITY  //正无穷

  Number.NEGATIVE_INFINITY //负无穷

  document.write(Number.MAX_VALUE + "<br />");  //数字的最大值

    document.write(Number.MIN_VALUE + "<br />");  //数字的最小值

    document.write(Number.POSITIVE_INFINITY + "<br />");  //正无穷

    document.write(Number.NEGATIVE_INFINITY + "<br />"); //负无穷)

结果:

1.7976931348623157e+308
5e-324
Infinity
-Infinity

 3.boolean类型:布尔类型

布尔(逻辑)只能有两个值:true 或 false。

对应的包装类型Boolean用法参见:http://www.w3school.com.cn/jsref/jsref_obj_boolean.asp

  

原文地址:https://www.cnblogs.com/dennis0525/p/5419185.html