数据类型
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变成false,false变成true:
! true; // false
! false; // true
! (2 > 5); // true
JavaScript允许对任意数据类型做比较:
false == 0; // true
false === 0; // false
要特别注意相等运算符==。JavaScript在设计时,有两种比较运算符:
第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。
由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。
NaN与任何值都不相等包括自己 唯一能判断的是isNaN函数通过isNaN(NaN)
同样跟Python一样因为计算机无法精确表示无限循环小数 所以浮点数也最好不要比较
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一样用索引访问 注意通过-1倒序访问得到的是undefined
JavaScript的对象是一组由键-值组成的无序集合,例如:
var person = {
name: ‘Bob‘,
age: 20,
tags: [‘js‘, ‘web‘, ‘mobile‘],
city: ‘Beijing‘,
hasCar: true,
zipcode: null
};
JavaScript对象的键都是字符串类型,值可以是任意数据类型。上述对象每个键又称为对象的属性,例如,person的name属性为‘Bob‘,zipcode属性为null。
要获取一个对象的属性,我们用对象变量.属性名的方式:
person.name; // ‘Bob‘
person.zipcode; // null
变量名是大小写英文、数字、$和_的组合,不能用数字开头,var表示声明变量
使用var声明的变量不是全局变量,它的范围被限制在该变量被申明的函数体内,同名变量在不同的函数体内互不冲突
原文:https://www.cnblogs.com/hacknoone/p/13365814.html