Javascript数据类型
基本数据(原始数据)类型:
- 数值 number
- 字符串 string
- 布尔 boolean
- null
- undefind
复杂数据(对象)类型:
object
函数
1.1字符串
字符串是存储字符(比如 “Bill Gates”)的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号
注:字符串类型可以和任何类型做+运算;
-
字符串长度
length属性用来获取字符串的长度。
var str = 'Hello World';
console.log(str.length);
- 字符串拼接
字符串拼接使用 + 连接。
console.log(11 + 11);
console.log('hello' + ' world');
console.log('100' + '100');
console.log('11' + 11);
console.log('male:' + true);
1.2数值
JavaScript 只有一种数值类型。数值可以带小数点,也可以不带。
数值可以通过运算符进行计算。
数字可以写成十进制、八进制、十六进制。
-
八进制在js中表示是第一位一定要是0,后面就是八进制字数序列(0~7)
-
十六进制字面量前两位必须是0x,后面跟十六进制数字(09及AF)。字母A~F不区分大小写。
-
数值字面量:数值的固定值的表示法。
-
进制
// 十进制 var num = 9; 进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值。 // 十六进制 var num = 0xA; 数字序列范围:0~9以及A~F // 八进制 var num1 = 07; // 对应十进制的7 var num2 = 017; // 对应十进制的15 var num3 = 08; // 对应十进制的8 //数字序列范围:0~7 //如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值将被当作十进制数值解析
-
浮点数
- 浮点数的精度问题
// 浮点数
var a = 10.2;
var b = 20.3333;
var n = 5e-324; // 科学计数法 5乘以10的-324次方
// 浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数
var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004
console.log(0.07 * 100);
-
数值范围
最小值:Number.MIN_VALUE,这个值为: 5e-324 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308 无穷大(正无穷):Infinity 无穷小(负无穷):-Infinity
-
数值判断
NaN:not a number NaN 与任何值都不相等,包括他本身 isNaN: is not a number
除了常规的数字,还包括所谓的“特殊数值(“special numeric values”)”也属于Number类型(了 解)
Infinity:代表数学概念中的 无穷大 ∞,也可以表示-Infinity;
1.3 布尔
Boolean(布尔)类型用于表示真假;
Boolean 类型仅包含两个值:true 和 false:
计算机内部存储:true为1,false为0。
1.4 数组
数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。
创建数组的方式:
- var 数组名=[数组值…值N];
- var 数组名= new Array(值1…值N);
- var 数组名= new Array();
可以通过数组的下标来访问数组的元素:
- 数组元素的顺序从0开始
- 数组名[0]=值;
JavaScript数组的创建方式:
1. 构造函数创建
var 数组名 = new Array(); -- 得到一个空数组
var 数组名 = new Array(数组); -- 创建指定长度的数组
var 数组名 = new Array(值1,值2,值3...) 创建数组并赋予值
JavaScript数组的属性:
length属性 用来获取数组的长度
JavaScript数组的属性:
length属性 用来获取数组的长度
1.4.1 遍历数组
遍历:遍及所有,对数组的每一个元素都访问一次就叫遍历。
数组遍历的基本语法:
for(var i = 0; i < arr.length; i++) {
// 数组遍历的固定结构}
for(var index in arr){ console.log(arr[index])}
1.5 对象类型
Object 类型是一个特殊的类型,我们通常把它称为引用类型或者复杂类型:
- 其他的数据类型我们通常称之为 “原始类型”,因为它们的值质保函一个单独的内容(字符串、数字或者其他);
- Object往往可以表示一组数据,是其他数据的一个集合;
- 在JavaScript中我们可以使用 花括号{} 的方式来表示一个对象;
- Object是对象的意思,后续我们会专门讲解面向对象的概念等;
对象由花括号定义。对象有属性和方法组成。
在括号内部,无论是对象的属性还是方法都是以键和值对的形式 (key: value) 来定义。多个属性或方法由逗号分隔。
var person1 = { id:1001,
name:"张三",
age:12,
eat:function(){
alert("吃饭的行为");
}, sleep:function(){
alert("睡觉的行为"); }}
对象属性有两种寻址方式:
对象名.属性名
对象名[“属性名”]
1.6 空 NULL
Null也是一个只有一个值的数据类型,它的值就是null,任何变量只要给其赋值为null的话这个变量的数 据类型就是Null类型。
可以通过将变量的值设置为 null 来清空变量。
1.7 未定义 undefined
这个值表示变量不含有值或未声明。
这是一个很有意思的数据类型,因为它的值只有一个,那就是undefined。
在声明变量时如果没有将变量赋值的话这个变量也是属于Undefined类型的。 如果一个变量没有声明就直接去访问解释器会报错误信息,但是这样的变量如果使用typeof返回的结果 也是"undefined"。
Null和Undefined的区别:
Null 已定义,并初始化为null。
Undefined:未定义,或者未初始化 。