1、console.log(x);
ReferenceError: x is not defined ;表示变量未找到,没有声明(var),没有赋值
undifined;表示已声明,但没有赋值;
2、null与undifined的区别
null
是一个表示“空”的对象,转为数值时为0
;undefined
是一个表示"此处无定义"的原始值,转为数值时为NaN
3、布尔值为false的六种情况 (空数组[]与空对象{}为true)
undefined
null
false
0
NaN
""
或''(空字符串)
4、 javascript底层是浮点数,小数的比较与运算要特别小心
5、NaN
不等于任何值,包括它本身。它的数据类型依然属于Number,
出现在无法运算的场合
6、单引号字符串的内部可以使用双引号;双引号的内部可以使用单引号;单引号内使用单引号需要加上反斜杠(\)
来转译;双引号也是如此。长字符串必须分成多行,可以在每一行的尾部使用反斜杠(否则会报错)
7、如果不同的变量名指向同一个对象,那么它们都是这个对象的引用,也就是说指向同一个内存地址。修改其中一个变量,会影响到其他所有变量。这种引用只局限于对象,如果两个变量指向同一个原始类型的值。那么,变量这时都是值的拷贝。
8、大括号{}内可以使表达式也可以是语句 ,圆括号()内只能是表达式。
9、读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符(必须加引号否则会当做变量处理),
数字键只能使用方括号运算符,可以不加引号,因为会自动转成字符串。
10、JavaScript 允许属性的“后绑定”,可以在任意时刻新增属性,没必要在定义对象的时候,就定义好属性。