js关键字typeof和instanceof的使用,以及js字符串与数字相互转化
2012-08-30 22:48
549 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> </style> <script src="jquery-1.7.js" type="text/javascript"></script> </head> <body> <div id="dd"></div> <input type="button" value="dv" onclick="ff()" /> <input type="button" value="stringToNumber" onclick="stringToNumber()" /> <input type="button" value="numberToString" onclick="numberToString()" /> <input type="input" id="vv" /> </body> </html> <script type="text/javascript"> function ff(){ var dv=document.getElementById("vv"); var a1=1; alert("a1:"+a1+"--typeof--"+(typeof a1)+"--"+(a1 instanceof String)); var a2="ss"; alert("a2:"+a2+"--typeof--"+(typeof a2)+"--"+(a2 instanceof String)); var a3=false; alert("a3:"+a3+"--typeof--"+(typeof a3)+"--"+(a3 instanceof String)); var a4=new String("dddd"); alert("a4:"+a4+"--typeof--"+(typeof a4)+"--"+(a4 instanceof String)); /* typeof 后面跟对象,返回这个对象的类型;如下使用 var a1=1; alert(typeof a1); instanceof 后面跟方法名,返回这个对象是不是这个方法的一个实例;如下使用 function func(){ } var aa=new func(); alert(aa instanceof func); */ } /* js中的对象时弱类型的,不像java有类型的严格区分。 但是这也导致一个问题,不同类型的变量的运算法则也就 略显复杂,比如: var d1=1; var d2="2"; var d3=3; alert("d1+d2--"+(d1+d2)); alert("d1+d3--"+(d1+d3)); (d1+d2)是“12”,(d1+d3)是4. 弱类型不是没有类型,有其好处,也有缺点。 省去了类型的复杂定义,代价是计算规则的复杂不易理解。 字符串string和数字number还是不一样的。 利用typeof object可以看出其类型。关于两者的转化如下: */ function stringToNumber(){ var dv=document.getElementById("vv").value; //字符串类型赚数字类型,如下 if(typeof dv=="string"){ var nn=parseInt(dv);//此方法转换异常时结果是NaN;会把字符串后面不是数字的字符过滤掉 alert("nn:"+nn+"--typeof---"+typeof nn); var nn2=parseFloat(dv);//此方法转换异常时结果是NaN;会把字符串后面不是数字的字符过滤掉 alert("nn2:"+nn2+"--typeof---"+typeof nn2); var nn3=new Number(dv);//Number,String对象的原型是Object alert("nn3:"+nn3+"--typeof---"+typeof nn3); } } function numberToString(){ var v1=12; var v2=12.56; if(typeof v1=="number"){ alert("v1:"+v1+" is number"); var s1=v1.toString();//toString()转换 alert("s1:"+s1+"--typeof--:"+typeof s1); var s2=new String(v1);//String对象的原型是Object alert("s2:"+s2+"--typeof--:"+typeof s2); var s3=""+v1;//最简单的是和一个空字符串相加就可以转换了 alert("s3:"+s3+"--typeof--:"+typeof s3); } //if(typeof v2=="number"){ // alert("v2 is number"); //} } </script>
相关文章推荐
- js中对json对象和字符串的理解以及相互转化
- js数字和字符串相互转化
- 关于字符串中数字字符转化为数字 sscanf的使用以及strchr的使用
- JavaScript高级程序设计(五): js的关键字instanceof和typeof使用
- js中Math.floor和Math.ceil解释以及字符串转化为数字的方法
- 关于字符串中数字字符转化为数字 sscanf的使用以及strchr的使用
- jsp的C标签一般使用方法以及js接收servlet中的对象及对象数字
- js中json字符串和json对象相互转化
- js字符串转化为数字 详解(转载)
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
- js计算字符串的字节数和字符串与二进制的相互转化
- js实现对象-数组-字符串之间的相互转化
- JS操作符转化字符串为数字
- js数组与字符串的相互转化
- js 字符串转化成数字的代码
- 使用GSON将对象和json字符串相互转化
- JS中字符串转化与日期的相互转化及比较时间先后
- [js][json]前台页面中json和字符串相互转化
- js字符串转化为数字 详解
- AndroidStudio 使用Lambada 以及相互转化