1. 未赋值的变量,初始值未undefined、需要使用 x === undefined来进行判断,需要注意的是,undefined值在布尔环境中会被当做false,在数值环境中会被转化为NaN;另外需要注意的是null在布尔环境中与undefined一样转化为false,但是在数值环境中会被转化为0;
var x;
if (!x) { //为false
}
x + 2 // NaN
var a = null;
if(!a) {
}
a + 2 // 2
// 使用 \符号来进行换行书写,最终的字符串还是单行,实际上斜线和换行都不会出现在字符串的值中
var str = "this string \
is broken \
across multiple\
lines."
console.log(str); // this string is broken across multiplelines.
// 使用换行符\n + \来书写多行字符串
var poem =
"Roses are red,\n\
Violets are blue.\n\
Sugar is sweet,\n\
and so is foo."
console.log(poem);
Roses are red,
Violets are blue.
Sugar is sweet,
and so is foo.
1. 未赋值的变量,初始值未undefined、需要使用 x === undefined来进行判断,需要注意的是,undefined值在布尔环境中会被当做false,在数值环境中会被转化为NaN;另外需要注意的是null在布尔环境中与undefined一样转化为false,但是在数值环境中会被转化为0;
2. 单目加法运算符,将字符串数字转化为数字
3. 对象字面量,需要注意的是对象属性名字可以是任意字符串,包括空串。如果对象属性名字不是合法的javascript标识符,它必须用""包裹。属性的名字不合法,那么便不能用.访问属性值,而是通过类数组标记("[]")访问和赋值;
4. 超长字符串写法,建议使用es6模板字符串写法
5. 常用的特殊字符
6. 在布尔环境中会被转化为false的6个值,false、0、‘’、undefined、null、NaN;
7.