Javascript Tips 1
! 运算符,逻辑非操作符,按照下面的规则来求表达式的值: 它作用的表达式或变量能够被转换为true时返回false,否则返回true。
- 如果直接应用于undefined 或 null 表达式,则返回true。
- 如果应用于值为undefined 或 null 的变量或表达式,则返回true
- 如果应用于作用域内未定义的变量,则运行出错。(注如果是在作用域里有定义,但该语句之前没有定义,则不会运行出错。返回值是true,相当于第2点,undefined的情况。
- 如果应用于一个对象的未定义属性,则返回true
- 所有对象都被认为是 true,用了!运算符后返回false。
- 字符串当且仅当为空时被认为是 false,其他情况为true.
- 数值0为false,其他为true。
&&运算符,逻辑与操作符,如果第一个表达式(对象)可以被转换为false,返回第一个对象,否则返回第二个表达式(对象)。
||运算符,逻辑非操作符,如果第一个表达式(对象)可以被转换为true,返回第一个对象,否则返回第二个表达式(对象)。
==运算符,如果两个操作表达式的值(可转换)相等,则返回true,否则返回false
===运算符,如果两个操作表达式的类型相同,值相等,则返回true,否则返回false