一、基本数据类型:
1、number、string、boolean、null、undefined、symbol、object,七种数据类型。
2、简单类型(基本类型)有 number、string、boolean、null、undefined、symbol。
复杂类型由简单类型组成,复杂类型为 object。
二、null 和 undefined 区别:
1、都表示没有值
2、变量没赋值,就是 undefiend
3、在 if 语句中,它们都会被自动转为 false
4、对象声明未赋值一般惯例是让其值先为 null
5、非对象变量声明不赋值,一般惯例是先让其值为 nudefined,实际使用种直接声明变量不赋值即可。【var 变量名】不必写成【var 变量名 = nudefined】
三、string 转义符、换行等问题:
代码书写多行字符串时 (注意输出还是一行),建议用 +,不建议用转义符加空格方式,这样不易阅读。
var s = '123'+
'456'
var s = '123\
456'var s ='\''s"'"
var s = '''
VM178:1 Uncaught SyntaxError: Invalid or unexpected token
四、布尔值 boolean 的知识点:
1、boolean 只有两个值 true 或 false
2、boolean 用于条件判断时,以下六种情况都是视为 false
undefined
null
false
0
NaN
“” 或 ”(空字符串)
五、number 相关知识点:
1、JavaScript 内部实际上存在 2 个 0:一个是 +0,一个是 -0,区别就是 64 位浮点数表示法的符号位不同。它们是等价的。
2、几乎所有场合,正零和负零都会被当作正常的 0。
-0 === +0 // true
0 === -0 // true
0 === +0 // true
+0 // 0
-0 // 0
(-0).toString() // '0'
(+0).toString() // '0'
3、唯一有区别的场合是,+ 0 或 - 0 当作分母,返回的值是不相等的。
(1 / +0) === (1 / -0) // false
4、NaN(not a number)主要出现在将字符串解析成数字出错的情况下,NaN 属于数值类型,它不等于任何值包括它本身。NaN 在布尔运算时被当作 false,与任何值运算包括自己得到的都是 NaN。
NaN === NaN // false
Boolean(NaN) // false
NaN + 32 // NaN
NaN - 32 // NaN
NaN * 32 // NaN
NaN / 32 // NaN
六、object 相关知识点:
1、object 可以嵌套
var person = {
'name': '小明',
'child': {'name': 'son'}
}
2、object 的 key 只能是字符串,不存在其他类型的 key
3、object[‘key’] 可以写作 object.key
4、object.key 与 object[key] 不同
5、object 的 key 不加引号情况下,需遵守标志符规则(首字母不能是数字,不能加引号等等),如果加引号则可以不遵守。
var obj = {9a:12}// 不加引号对象 key 命名数字开头【报错】Uncaught SyntaxError: Invalid or unexpected token
var obj = {'9a':12}
undefined
var obj = {a b:'ab'}// 不加引号对象 key 命名中间加空格【报错】Uncaught SyntaxError: Unexpected identifier
var obj = {'a b':'ab'}
undefined