javascript之容易出错的地方

1: 不是所有的非空对象都有toString()方法的

    var obj = Object.create(null);

    console.log(obj.toString());   // false; 

2: 浮点数问题

    0.2 - 0.1 == 0.1; // true

    0.3 - 0.2 == 0.1; // false

    0.1 + 0.1 == 0.2; // true

    0.1 + 0.2 == 0.3; // false

3: 函数一旦建立,函数的作用域就建立了

  var a = 1;

  var x = function (){

  console.log(a);
  }

  function f(){

      var a = 2;

      x();

 }

 f();  // 1

4: 0 == null    // false

5:黄金法则

!后面跟的字符会被转换成布尔值

+后面跟的字符会被转换成数值

[]后面跟的字符会被转换成字符串

 
原文地址:https://www.cnblogs.com/honghong87/p/6025861.html