数据类型
JavaScript 数据类型
-
JavaScript 变量还能保存其他数据类型,比如文本值 (name=“Bill Gates”)。
-
在 JavaScript 中,类似 “Bill Gates” 这样一条文本被称为字符串。
-
JavaScript 变量有很多种类型,但是现在,我们只关注数字和字符串。
-
当您向变量分配文本值时,应该用双引号或单引号包围这个值。
-
当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
- 简单(基本)数据类型:字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol
- 引用类型:常见引用类型 :对象(Object)、数组(Array)、函数(Function)、Date、RegExp、
undefined类型
undefined 类型只有一个值,即特殊的 undefined。在使用 var 声明变量,但没有对其初 始化时,这个变量的值就是 undefined,且这个值表示变量不含有值,可以通过将变量的值设置为 null 来清空变量。
例如:
var a;
console.log(a);//undefined
null类型
null 类型是一个只有一个值的数据类型,即特殊的值 null。它表示一个空对象引用(指 针),而 typeof 操作符检测 null 会返回 object。
boolean类型
boolean 类型有两个值(字面量):true 和 false。
var x=true;
var y=false;
number类型
number 类型包含两种数值:整型和浮点型。
例如:
var a=10;//整型10
var b=10.1;//浮点型10
注意:JavaScript支持科学计数法:
例如:
var a=13000;var b=0.0035;
可以转换为:
var a=1.3e4;
var b=3.5-e3;
string类型
string 类型用于表示由于零或多个字符组成的字符序列。字符串可以由双引号(")或单引号(’)表示。
例如:
var a=‘hello’;
var b=‘’;//空字符串
var c=“hello world”;
//字符串中可以包含任何内容,另外 字符串不管包含任何内容均为原样输出
注意:1、Date、Array、Function、RegExp都归属与Object类型
2、 typeof 操作符检测 null 会返回 object。
3、NaN,即非数值(Not a Number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)
4、NaN的数据类型为 number
JavaScript 对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔。
空格和折行无关紧要。声明可横跨多行:
var person={
firstname : "John",
lastname : "Doe",
id : 5566
};
//上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
空格和折行无关紧要。声明可横跨多行:
Value = undefined
在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。
在执行过以下语句后,变量 carname 的值将是 undefined:
var person={
firstname : "Bill",
lastname : "Gates",
id : 5566
};
对象属性有两种寻址方式:
例如:
name=person.lastname;
name=person["lastname"];
数据类型转换
JavaScript 变量可以转换为新变量或其他数据类型
- number转向String
(1) 第一种方法 toString()
var a=10;
var b=a.toString();
console.log(9);
console.log(b,typeof b);
(2)第二方法 ’ '(空格字符串)
var a=10;
var b=a+' ';
console.log(b,typeof b);
2.number转向boolean
3. boolean转向number
方法:false为0
其他的都为true
- bololean转向string
其他类型转换为字符串类型
使用toString()方法即可
拼接””(空字符串)
var s=true;
var s1=s+' ';
var s2=s.toString();
console.log(s1,typeof s1); //输出的是true、string 使用的是空格字符串
console.log(s2,typeof s2); //输出的是true、string 使用的是toString
-
string转向number
将字符串转换为数字:
parseFloat();//解析一个字符串,返回浮点数
parseInt();//解析一个字符串,返回整数 -
通过JavaScript自身自动转换
当 JavaScript 尝试操作一个 “错误” 的数据类型时,会自动转换为 “正确” 的数据类型。
例如:
- 3 + null // 返回 3 null 转换为 0
- “3" + null // 返回“3null" null 转换为 “null”
- “3" + 1 // 返回 “31" 1 转换为 “1”
- “3" - 1 // 返回 2 “3" 转换为 3
注意:
(1)在特殊情况下,true与1,false与0之间 可以互相转换
(2)在特殊情况下(如判断语句中),null、undefined、’’、0均可以认为是 false,其他则为true
(3)parseInt(‘5abc’)的值为5,parseInt(‘abc5’)的值为NaN
JavaScript 数字
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
例如:
var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
极大或极小的数字可以通过科学(指数)计数法来书写:
例如:
var y=123e5; // 12300000
var z=123e-5; // 0.00123