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(); }
TAG: