最新的 ECMAScript 标准定义了7种数据类型:
六种基本数据类型:
三种原始类型(primitive type)的值:
1、布尔值(Boolean)
有2个值分别是:true 和 false。“真”用关键字true表示,“假”用关键字false表示。布尔值只有这两个值。
2、数字(Number)
整数或浮点数,例如: 42 或者 3.14159。JavaScript 语言的底层根本没有整数,所有数字都是小数(64位浮点数)。
JavaScript 内部会自动将八进制、十六进制、二进制转为十进制。
parseInt()方法用于将字符串转为整数。
parseFloat()方法用于将一个字符串转为浮点数。
isNaN()方法可以用来判断一个值是否为NaN,也就是非数字。只对数值有效,如果传入其他值,会被先转成数值。
3、字符串(String)
字符串是一串表示文本值的字符序列,例如:"Howdy" 。
多行字符串拼接建议直接用ES6的`,变量可以用${a}表示,a为变量名:
var a=`a=${a}
b
c
d
`
两个特殊值:
4、null
一个表明 null 值的特殊关键字。null表示空值,即该处的值现在为空。
5、undefined
和 null 一样是一个特殊的关键字,undefined 表示变量未定义时的属性。
6、代表(Symbol)
( 在 ECMAScript 6 中新添加的类型).。一种实例是唯一且不可改变的数据类型。
7、以及对象(Object)。
对象是最复杂的数据类型,又可以分成三个子类型。
狭义的对象(object)
数组(array)
函数(function)
对象(object)
对象的所有键名都是字符串(ES6 又引入了 Symbol 值也可以作为键名),所以加不加引号都可以。
var obj = {
foo: 'Hello',
bar: 'World'
};
for...in循环用来遍历一个对象的全部属性。
var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
console.log('键名:', i);
console.log('键值:', obj[i]);
}
// 键名: a
// 键值: 1
// 键名: b
// 键值: 2
// 键名: c
// 键值: 3
Object.keys(obj);查看一个对象本身的所有属性
var obj = { p: 1 };// in判断属性是否存在
'p' in obj // true
'toString' in obj // true
数组(array)
var arr = ['a', 'b', 'c'];
//任何类型的数据,都可以放入数组。
var arr = [
{a: 1},
[1, 2, 3],
function() {return true;}
];
arr[0] // Object {a: 1}
arr[1] // [1, 2, 3]
arr[2] // function (){return true;}
函数(function)
//函数三种声明方式
function print(s) {
console.log(s);
}
var print = function(s) {
console.log(s);
};
var add = new Function(
'x',
'y',
'return x + y'
);
网友评论