null

适用场景:

  • 初始化一个将来可能被赋值为对象的变量
  • 与已经初始化的变量做比较
  • 作为一个参数为对象的函数的调用传参
  • 作为一个返回对象的函数的返回值

不适用场景:

  • 不要用null来判断函数调用时有无传参
  • 不要与未初始化的变量做比较
  1. // not good
  2. function test(a, b) {
  3. if (b === null) {
  4. // not mean b is not supply
  5. ...
  6. }
  7. }
  8. var a;
  9. if (a === null) {
  10. ...
  11. }
  12. // good
  13. var a = null;
  14. if (a === null) {
  15. ...
  16. }