adapt

【JavaScript】数据类型及变量总结
一、Number 123; // 整数 1.23; // 浮点数 -1.23; // 负数浮点数 NaN; //...
扫描右侧二维码阅读全文
31
2019/03

【JavaScript】数据类型及变量总结

一、Number

JS中整型和浮点型数据统一用Number类型表示,如下:

123; // 整数
1.23; // 浮点数
-1.23; // 负数浮点数
NaN; // 无法计算结果时用NaN表示
Infinity; // 计算结果超过js所能表示的最大值时,用此表示为趋于无穷大
1 + 2;
2 / 0; // 结果为Infinity
0 / 0; // 结果不存在,为NaN
5 % 2; // 求余,为1

二、字符串型

单引号或双引号括起来的部分为字符串

'123';
"我是字符串";

三、布尔型

布尔型只有两种值:trueflase

注意:布尔值除了表示true和false之外,还可以直接用布尔值来进行计算。

1 + true; // 结果等于2
1 == true; // 结果为true,‘==’如果两数类型不一致会先改变数据类型再比较
1 === true; // 结果为false,因为‘===’是以不改变数据类型为前提进行比较
true - false; // 结果为1
true && true; // '与运算':全真为真
true || false; // '或运算':有真为真
!true; // '非运算':取反。结果为false
!0; // 结果为true
1 < 2; // false
(1+2) > 2; // true

此外,布尔型常在条件判断中使用:

var age = 10;
if (age < 18) { // 用来做条件判断使用
    alert('未成年人');
}
else {
    alert('成年人');
}

特例,如下:

NaN === NaN; // false 特例:NaN是与其他值都不相等的Number类型(包括自己)
1 / 3 === (1 - 2 / 3); // false 特例:由于计算机在处理此种无限小数时,会产生精度误差,处理此种浮点数时,只能使用绝对值之差是否小于某个阈值
Math.abs(1 / 3 - (1 - 2 / 3)) < 0.00000001; // true

四、null、undefined

null类似于python中的None,表示‘空’。undefined表示值未定义,仅在判断函数参数是否传递的情况下使用。其他情况都应该使用null。

五、数组

数组Array是一组按照顺序排列的集合,数组中每个值称为元素,在javascript中数组可以包含任意数据类型。如:

[1, '2', 2, 3.4, null, false]; // 这是一个javascript数组
new Array(1, '2',  2, 3.4, null, false); // 这种创建方式得到的数组和上句一样

数组中的元素可通过索引来访问。和其他语言一样,元素的索引都是从0开始。

var arr = [1, '2', 2, 3.4, null, false];
arr[0]; // 1
arr[3]; // 3.4
arr[-1]; // 注意:数组并不支持使用-1来访问最后一位元素

六、对象

JavaScript的对象和我们所熟知的对象不太一样,在js中对象是一组由‘键-值’对组成的无序集合。(注意无序)

var people = { // 定义一个people对象
    name:'Tom';
    age:'20';
    work:'student';
    city:'' // 注意最后一个键值对不需要分号
}; // 但此处的分号可不能少

七、变量

这里的变量和其他语言(如c、python等)中的变量类型类似。不仅可以表示数字也可以表示字符串甚至为任意数据类型。在javascript中变量名是由 大小写字母、数字、$和_ 组合,且不能以数字作为开头。同样的,变量名不能含有关键字。声明一个变量需要用 ‘var’,如下:

var a; // 声明但为赋值,此时a为undefined
var $b = 'b'; // 声明的同时赋值
a = 1; // 此时才给a赋值
var n = null; // n为null

注意
在js中,同一个变量只能使用var声明一次,但是可对其反复赋值。并且可以是不同类型的数据,js的这种特性称是动态语言特有的,python也具有这种特性。与之相反的是静态语言的特性,即定义变量是须指定其数据类型,且之后只能为此类型。动态语言灵活但速度慢,静态语言虽有限制但处理速度快

最后修改:2019 年 04 月 04 日 04 : 56 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论