美文网首页
JavaScript 入门(二、JavaScript数据类型)

JavaScript 入门(二、JavaScript数据类型)

作者: 码上行动 | 来源:发表于2018-12-15 14:35 被阅读0次

1.基本数据类型

a.字符串
b.数值型
c.布尔型

2.复合数据类型

a.对象
b.数组

3.其他数据类型

a.函数
b.null
c.undefined

字符串型

字符串型是JavaScript中用来表示文本的数据类型,是由Unicode字符、数字和标点符号组成的一个字符串序列。字符串通常是由单引号或是双引号括起来的。
1.单引号和双引号均可解析转义字符
2.单引号和双引号均不能解析变量
3.变量与字符串、变量与变量要使用+来连接。
4.单引号和双引号可以互相嵌套,如果单引号中要嵌套单引号,需要将单引号转义,同理,双引号相同。

数值类型

最基本的数值字面量格式是

1.十进制整数:
var num = 10;

除了以十进制表示外,整数还可以通过八进制或十六进制的字面值来表示:

var num = 070;  //八进制数,以0开头

var num = 0xA;  //十六进制数,以0x开头

注意:虽然数值可以用八进制或十六进制来表示,但在进行算术计算时,所有以八进制和十六进制表示的数值都将转换成十进制数值。

2.浮点数值

所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。

var num = 1.1;
var num = 0.1;
var num = .1;   //有效,但不推荐

如果小数点后面没有跟任何数字(如1.),可以作为整数值来保存。
如果浮点数值本身表示的就是一个整数(如1.0),该值会被转为整数
可以使用e来表示科学计数法。

var num = 1.2e3;    //等于1200

浮点数值的最高精度是17位小数,但在进行算术计算时其精度远远不如整数。

注意:永远不要测试某个特定的浮点数的值!
例如:

    var a = 0.1;
    var b = 0.2;
    if(a+b == 0.3){
        alert(“输出了”);
    }                    //这里是不会弹出的!
3.NaN

NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。
例如:在其他语言中,任何数值除以0都会导致错误。但在JavaScript中,任何数值除以0会返回NaN,因此不会影响其他代码的运行。
NaN的特点:
1.任何涉及NaN的操作,结果都为NaN
2.NaN与任何值都不相等,包括NaN本身。例如:下面的代码会返回false

alert(NaN == NaN);  //false

数值转换:
我们可以使用三个函数Number()、parseInt()和parseFloat()将一个非数值转换为数值。
Number()函数的转换规则:
1.如果是布尔值,true和false将分别转换为1和0
2.如果是数字值,只是简单的传入和返回
3.如果是null,返回0
4.如果undefined,返回NaN
5.如果是字符串,遵循下列规则:
a.“11”会变成11
b.“1.1”会变成1.1
c.“0xf”会变成相同大小的十进制整数值
d. 如果字符串是空的,则将其转换为0
e. 如果字符串包含除上述格式之外的字符,则将其转换成NaN

var num = Number("hello"); 
console.log(num)     //NaN

var num = Number("");
console.log(num)    //0

var num = Number("000011");
console.log(num)   //11

var num = Number(true);
console.log(num)  //1

parseInt()的转换规则:
1.忽略字符串前面的空格,直到找到第一个非空格字符
2.如果第一个字符不是数字或者是负号,返回NaN
3.空字符串,返回NaN
4.如果第一个字符是数字,会继续解析第二个字符,直到解析完所有后续字符或遇到了一个非数字字符。
5.如果字符串以0x开头且后面跟数字字符,就会将其转为10进制数,同样,八进制也一样。

   var a = parseInt("1234blue");
    console.log(a)  //1234

    var a =parseInt("");
    console.log(a) // NaN

    var a =parseInt("0xA");
    console.log(a) // 10

    var a =parseInt(22.5);
    console.log(a) // 22

    var a =parseInt("070");
    console.log(a)  //70

    var a =parseInt("70");
    console.log(a)  //70

    var a =parseInt("0xf");
    console.log(a) // 15

parseFloat()也是从第一个字符开始解析每个字符,而且也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。规则如下:
1.第一个小数点是有效的,第二个小数点无效
2.始终忽略前面的0,不分进制数
3.十六进制会被转换成0
4.空字符串转换为NaN

var num= parseFloat("1234blue");
console.log(num); //1234 
var num= parseFloat("0xA");
console.log(num); //0
var num=  parseFloat("");
console.log(num); //NaN
var num=  parseFloat("22.5");
console.log(num); //22.5
var num=  parseFloat("22.34.5");
console.log(num); //22.34
var num=  parseFloat("070.5"); 
console.log(num); //70.5
var num=  parseFloat("3.12e7");
console.log(num); //31200000

布尔类型

布尔类型的字面值只有两个,true和false,可以使用Boolean()函数将一个非布尔类型转换为布尔类型。
注意:true和false是严格区分大小写的

var res=Boolean(undefined);
console.log(res);
js转化为布尔为假的有:
false
""
0
NaN
undefined
null

a.对象

对象其实就是一些数据的集合,这些数据可以是字符串型、数字型和布尔型,也可以是复合型。

b.数组

数组与对象一样,也是一些数据的集合,这些数据也可以是字符串型、数字型、布尔型、或者是复合型。与对象不同,数组中的数据并没有命名,不能通过名字来引用该数据。在数组中,为每个数据都编了一个号(从0开始),为数组的下标

a.函数

函数是一段可执行的JavaScript代码,在JavaScript中,函数可以带有0个或多个参数,也可以返回一个值或不返回值。

b.null

null是一个特殊的数据类型,其所代表的意思是“空”。需要注意,这个空并不代表是0或空字符串。null代表没有值,不是一个有效的数字、字符串、也不是数组、对象和函数,什么数据类型都不是。

c.undefined

undefined也是一个特殊的数据类型,只有定义了一个变量但没有为该变量赋值,使用了一个并未定义的变量、或者是使用了一个不存在的对象的属性时,JavaScript会返回undefined。
undefined与null的区别:
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

相关文章

网友评论

      本文标题:JavaScript 入门(二、JavaScript数据类型)

      本文链接:https://www.haomeiwen.com/subject/jaaohqtx.html