数据类型:
数字(number), 字符串(string), 布尔(boolean), symbol(符号), null, undefined, object(对象)。
数字(number):
十进制:没有前导0的数值。
八进制:有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿 拉伯数字的数值。
十六进制:有前缀0x或0X的数值。
二进制:有前缀0b或0B的数值。
字符串(string):
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
’abc’
"abc"
连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候也是单行。
var longString = ‘long’ +
’string’;
或
var longString = `long
string`
转义:
反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
\0 :null
\b :后退键
\f :换页符)
\n :换行符
\r :回车键
\t :制表符)
\v :垂直制表符
\' :单引号
\" :双引号
\\ :反斜杠
布尔(boolean):
布尔值代表“真”和“假”两个状态。“真”用关键字true表示,“假”用关键字false表示。
逻辑运算符: && (And),|| (Or)
null, undefined:
都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,语法效果几乎没区别。
区别:null是一个表示“空”的对象,转为数值时为0;undefined是一个表示”此处无定义”的原始值,转为数值时为NaN。
object(对象):
就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。
var obj = {
foo: 'Hello',
bar: 'World'
};
判断表达式还是语句?
如果行首是大括号,一律解释为语句(即代码块)。如果要解释为表达式(即对象),必须在大括号前加上圆括号。
属性操作:
读取属性:
读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使 用方括号运算符。
var obj = {
p: 'Hello World'
};
obj.p // "Hello World"
obj['p'] // "Hello World"
注意:如果使用方括号运算符,键名必须放在引号里面,否则会被当 作变量处理。
属性的赋值:
点运算符和方括号运算符,不仅可以用来读取值,还可以用来赋值。
var obj = {};
obj.foo = 'Hello';
obj['bar'] = 'World';
查看所有属性:
查看一个对象本身的所有属性,可以使用Object.keys 方法。
var obj = {
key1: 1,
key2: 2
};
Object.keys(obj);
// ['key1', 'key2']
delete命令:
delete命令用于删除对象的属性,删除成功后返回true;
in运算符:
in运算符用于检查对象是否包含某个属性(检查的是键 名,不是键值),如果包含就返回true,否则返回false。
for…in循环:
for...in循环用来遍历一个对象的全部属性。
var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
console.log(obj[i]);
}
// 1
// 2
// 3