2012年5月18日星期五

JavaScript基础语法让人疑惑之处

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: