JavaScript之数据类型和变量

数据类型

Number

JavaScript不区分整数和浮点数,都用Number表示,NaN表示不是数字,infinity表示无限大

四则运算中的取余用%

布尔值

和Python的差不多

&&运算是与运算,只有所有都为true&&运算结果才是true

true && true; // true
true && false; // false false && true && false; // false 

||运算是或运算,只要其中有一个为true||运算结果就是true

false || false; // false
true || false; // true false || true || false; // true 

!运算是非运算,它是一个单目运算符,把true变成falsefalse变成true

! true; // false
! false; // true ! (2 > 5); // true

JavaScript允许对任意数据类型做比较:

false == 0; // true
false === 0; // false 

要特别注意相等运算符==。JavaScript在设计时,有两种比较运算符:

第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;

第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。

由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。

NaN与任何值都不相等包括自己 唯一能判断的是isNaN函数通过isNaN(NaN)

同样跟Python一样因为计算机无法精确表示无限循环小数 所以浮点数也最好不要比较

null和undefined

null表示空与0和字符串‘’不一样,0是一个数值,''表示长度为0的字符串,而null表示“空”,重点' '中间加一个空格能够被判断成True,而前面三个都是False。

undefined表示值未定义 仅在判断函数参数是否传递的情况下有用

数组

数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型

例如:

[1, 2, 3.14, 'Hello', null, true]; 

另一种创建数组的方法是通过Array()函数实现:

new Array(1, 2, 3); // 创建了数组[1, 2, 3] 

和Python的list一样用索引访问

对象 

JavaScript的对象是一组由键-值组成的无序集合,例如:

var person = {
    name: 'Bob',
    age: 20,
    tags: ['js', 'web', 'mobile'], city: 'Beijing', hasCar: true, zipcode: null };

JavaScript对象的键都是字符串类型,值可以是任意数据类型。上述对象每个键又称为对象的属性,例如,personname属性为'Bob'zipcode属性为null

要获取一个对象的属性,我们用对象变量.属性名的方式:

person.name; // 'Bob'
person.zipcode; // null

变量

变量名是大小写英文、数字、$_的组合,不能用数字开头,var表示声明变量

使用var声明的变量不是全局变量,它的范围被限制在该变量被申明的函数体内,同名变量在不同的函数体内互不冲突

 

猜你喜欢

转载自www.cnblogs.com/hacknoone/p/13365814.html