数据类型
Number
首先了解JavaScript不区分整数和浮点数,统一用Number表示
123; // 整数123
0.456; //浮点数0.456
1.2345a3; //科学计数法表示1.2345*1000,等同于1234.5
-99; //负数
NaN; //not a number 当无法计算时,用NaN表示
Infinity; //表示无限大 ,当数值大于JavaScript的number所能表达的最大值时,用其表示
计算机使用二进制,也就是只用0和1两个符号
十六进制表示整数
字符串
单引号,双引号括起来的任意文本.... 'a' "a"这只是一种表达方式,不是字符串的一部分
布尔值
与布尔代数的表示完全一致
true
false
判断条件
&&并且 条件全部满足
||或者 只满足条件其一
!非 不然,不是 取反
对Number做比较的时候,可以通过比较运算符得到一个布尔值
就像从小学开始学习的加减乘除一样 判断大于、小于、等于 的对错
>
<
=
javaScript允许对任意数据类型进行对比
其中有两种比较运算符
相等运算符==
会自动转换数据类型再比较......
这里我需要说一下 [ 廖雪峰大大文档中说 :使用==比较,会自动转换数据类型在比较,很多时候会得到诡异的结果 氢氦锂铍硼,...钠镁铝硅磷 我也不知道恒等运算符===
不会自动转换数据类型,如果出现数据类型不一致将直接返回false ,一致将进行比较
NaN是特殊的Number 他与其他值都不等,连他自己都不等于自己
唯一能判断NaN的方法是通过isNaN()函数 返回true false
注意浮点数的相等比较
1/3===(1-2/3);//false
遇到以后要知道这不是JavaScript的设计缺陷
浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数.要比较两个浮点数是否相等,只能计算他们之差的绝对值,看是否小于某个阈(yu)值
Math.abs(1/3-(1-2/3))<0.0000001;//true
null 和undefined
null表示一个空的值 他和0以及空字符串''不同
0是一个数值
''表示长度为0的字符串,而null表示空
JavaScript的null表示 undefined表示未定义 区分两者的意义不大 在多数情况下使用的都是null undefined仅仅是在判断函数参数是否传递的情况下有用
java null
Swift用nil
Python用None表示
数组
一组按照顺序排列的集合,集合的每个值都称为元素.
JavaScript中的数组可以包括任意数据类型
举栗子 [1,2,3,'hello',null,true] 包含6个元素 元素之间用,分隔
另一种创建数组的方法是通过Array()函数实现
new Array(1,2,3);
出于代码的可读性考虑.建议直接使用[]
数组的元素可以通过索引来访问
起始值是0
var arr=[1,2,3,'hello',null,true]
arr[0]; //返回索引为0的元素 1
arr[5]; //返回索引下标为5的元素 true
arr[6]; //索引超出了范围 返回undefined
对象
JavaScript的对象是由键-值 组成的无序集合
var person={
name:'bob',
age:20,
tags:['js','web','moblie'],
city:'beijing',
hasCar:true,
zipcode:null
};
JavaScript对象的键都是字符串类型 值可以是任意数据类型.
person对象包含6个键值对. 属性 名字,年龄,技能,城市...
person的 name属性为bob ...
在代码中,或得对象的属性 对象变量.属性名
person.name;//bob
变量
var a; //声明变量但为赋值 undefined
var b=1; //声明变量并为其赋值 1
var c='c'; //声明一个字符串
cvar d=true; //声明布尔值 true
var e=null; //e的值为null