Javacsript拥有动态类型
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:
实例
var x // x 为 undefined
var x = 6; // x 为数字
var x = "Bill"; // x 为字符串
Javascript 数据类型
- 总共包含7种基本数据类型,其中有6种为原始类型,另一种为对象(Object);
- 原始类型是不可变的(值本身无法被改变),我们称这些类型的值为“原始值”。
6种原始类型包括- Boolean(布尔)
- Null
- Undefined
- Number(数字)
- String(字符串)
- Symbol(符号)
String——字符串类型
-
字符串是存储字符(比如 "Bill Gates")的变量;
-
字符串可以是引号中的任意文本,可以使用单引号或双引号;
-
在字符串中的每个元素占据了字符串的位置。第一个元素的索引为0,下一个是索引1,依此类推。字符串的长度是它的元素的数量。
实例
var carname="Bill Gates";
var carname='Bill Gates';
注:可以在字符串中使用引号,只要不匹配包围字符串的引号即可。
Number——数据类型
- JavaScript 只有一种数字类型。数字可以带小数点,也可以不带;
实例
var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
- 极大或极小的数字可以通过科学(指数)计数法来书写:
实例
var y=123e5; // 12300000
var z=123e-5; // 0.00123
- 在JavaScript里,数字类型能够代表的范围是 -(2的63次方-1) ~ (2的63次方-1) 。除了具体的数值,在JavaScript中还有一些带符号的值:+Infinity,-Infinity和NaN(非数值,Not-a-Number),分别代表正无穷、负无穷和非数值。
实例
19 / +0; // Infinity
19 / -0; // -Infinity
Boolean——布尔
- 布尔(逻辑)只能有两个值:true 或 false。
var x=true
var y=false
- 布尔常用在条件测试中。
Undefined 和 Null
-
Undefined 这个值表示变量不含有值, 一个没有被赋值的变量会有个默认值undefined。
-
Null 类型只有一个值:null,表示空值,表示没有被呈现。可以通过将变量的值设置为 null 来清空变量。
实例
cars=null;
person=null;
Symbol——符号类型
- ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。
特点:
Symbol('key') !== Symbol('key') //true
- Symbol值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的Symbol类型。
- Symbol类型的对象永远不相等,即便创建它们的时候传入了相同的值,因此,可借助此特性解决属性名的冲突问题(比如适用于多人编码的时候),这也是该数据类型存在的主要用途,意为标记
var sym = Symbol('foo');
var obj = {[sym] : 1};
obj[sym] === 1 //true
Object——对象类型
- 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔;
var person={firstname:"Bill", lastname:"Gates", id:5566};
- 上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
- 空格和折行无关紧要。声明可横跨多行:
var person={
firstname : "Bill",
lastname : "Gates",
id : 5566
};
对象属性有两种寻址方式:
name=person.lastname;
name=person["lastname"];
网友评论