JavaScript基础语法让人疑惑的地方小结

复制代码 代码如下:

  /*

  JS基础语法中,几个比较容易让人疑惑的地方。

  */

  /*

  ==

  ===

  */

  function de() {

  var ab = 25; //数值

  var ba = "25"; //字符串

  if (ab == ba) { //==,会先转换,后比对。

  //alert("b");

  }

  if (!(ab === ba)) { //===不会转换,而进行直接比对,ab是数值类型数据,而ba是字符串类型数据

  //alert("a");

  }

  }

  /*

  !b

  !!b

  */

  function dd() {

  var b= 1;

  if (!!b) { //!时它是非0数值,所以返回false,当!!时,则先进一步boolean()方法,然后再对这个布尔值求反,于是得到了本身值。

  //alert("a");

  }

  }

  /*

  parseInt parseFloat

  */

  function parse() {

  var a = "18px";

  var b = parseInt(a); //返回数值18

  var c = parseInt(a, 10); //返回数值18,可以传参数,进制

  //alert(b);

  alert(c);

  var e = "18.2px";

  var d = parseFloat(e);

  alert(d)

  /*

  parseInt与parseFloat的区别在于,parseFloat转换数值时,不会忽略第一个小数点,也就是说,会保留第一个小数点之后的数,但是会忽略第二个小数点。

  parseFloat还会忽略第一个位置处的0。

  */

  }

  window.onload = function () {

  parse();

  dd();

  de();

  }