A. js面试题,3种强制类型转换和2种隐式类型转换是什么
三种强制类型转换:String(),Boolean(),Number();
(还有两个:parseInt和parseFloat 应该也算吧)
B. javascript 如何强制类型转换
netJavaScript的变量确实是没有类型的,就是说你varvariable后,可以随便的给variable赋值,不会有任何问题。可是赋给变量的值本身自己却是有类型的,比如:String、Object、Boolean和Number等等。所以JS的变量还是有类型转换的,当然很多时候JS解析引擎会默认处理很多的type convert。不过有的时候也需要我们强行转换数据类型,最常见的就是:''+数字+数字,这种情况来生成字符串累加。 象:''+数字+数字,这样的语法真的是比较的ugly,想我们在C中使用(int)xxx和C++中int(xxx)来做类型转换多么的清晰明了。其实JavaScript也支持这样的类型转换语法的,例如:<scriptlanguage="javascript"varstr='100';varnum=Number(100);alert(typeof(num)+':'+num);varobj=Object(str);alert(typeof(obj)+':'+obj);varbool=Boolean(str);alert(typeof(bool)+':'+bool);varnum=100;varstr=String(num);alert(typeof(str)+':'+str);varbool=Boolean(num);alert(typeof(bool)+':'+bool);varobj=Object(num);alert(typeof(obj)+':'+obj);varbool=true;varstr=String(bool);alert(typeof(str)+':'+str);varnum=Number(bool);alert(typeof(num)+':'+num);varobj=Object(bool);alert(typeof(obj)+':'+obj);varobj={};varstr=String(obj);alert(typeof(str)+':'+str);varnum=Number(obj);alert(typeof(num)+':'+num);varbool=Boolean(obj);alert(typeof(bool)+':'+bool);</script 除了Number(obj)转换失败,其它强行转换表达式都能取得有意义的转换效果。 使用强行转换表达式最大的好处就是可以使程序代码变得清晰,为本身就类型混乱的JavaScript编程减少混淆的可能。 至少我觉得类似:varstr = String(3) + String(3); 比varstr= '' + 3 + 3; 表意更清晰。 还有默认转换比较混乱的地方,比如:"88"-8和"88"+8,前者的默认转换是把字符串转为数字(结果80),而后者又是把数字转为字符串(结果"888")@_@,真是乱。所以使用变量类型强制转换,就可能避免这类默认转换带来的潜在理解出错的问题。
C. javascript 怎么将float强制转换为int类型
1、丢弃小数部分,保留整数部分
js:parseInt(7/2)
2、向上取整,有小版数就整数部分加权1
js:Math.ceil(7/2)
3、四舍五入
js: Math.round(7/2)
4、向下取整
js:Math.floor(7/2)
关于js字符串转换成int或者float类型
/**
* 将字符串类型转换成int或者float类型
* @param str
* 要转换的字符串
* @returns
* 返回转换后的结果
*/
function changeStrToInt(str)
{
if(str === undefined || str == null || str=="")
{
return 0;
}
else
{
var result = parseInt(str);//如果是转成float类型的话就用 <span style="font-family: Arial, Helvetica, sans-serif;">parseFloat(str)</span>
if(isNaN(result))
{
alert("请填写正确的数字格式");
}
else
{
return result;
}
}
}
D. 如何用js把字符串转化为整型
方法主要有三种
转换函数、强制类型转换、利用js变量弱类型转换。
1. 转换函数:
js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN。
2. 强制类型转换
还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
ECMAScript中可用的3种强制类型转换如下:
Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字;
String(value)——把给定的值转换成字符串。
用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
3. 利用js变量弱类型转换
E. javascript 字符串怎么转成数字类型
可以使用转换函数:
转换函数:
js提供了parseInt()和parseFloat()两个转换函数。前者把值版转权换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
一些示例如下:
复制代码 代码如下:
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:
复制代码 代码如下:
parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
F. js中怎么把日期转换成数字
方法主要有二种:转换函数、强制类型转换。
G. JS怎么把字符串转为INT
办法,使用parseInt(var i)强制转型。
因为js中变量是可以任意赋值的(不用担心类型),内但是int型一旦被改容为字符串后,在调用int的加法运算时,就会变成了字符串的连接运算。如下所示:
<scriptlanguage="javascript">
<!--
vari=1;
alert(i+1);//结果为2
varj="1";
alert(j+1);//结果为11
//-->
</script>
此时如果想要将j转换为int并且执行加法,需要将j强制转换为int,具体方法如下:
alert(parseInt(j)+1);
此时的结果就会是2了。
H. js怎么把数组强制转换为字符串
可以采用字符串抄拼接的的方式。
例如:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title></title>
<scripttype="text/javascript">
//数组
vararr=['1',[2],
[3]
];
</script>
</head>
<scriptlanguage="JavaScript">
//转换类型
varstrs=arr+"";
//测试将数组转换以后的类型
vart=typeofstrs;
document.write("数组arr转换成t的类型是:"+t);
</script>
<body>
</body>
</html>
执行结果:
I. 怎样将javascript中的整型数据强制转换成字符串型
js数字转换成字符串
将字符串转换成数字,得用到String类的toString方法
举例:
var i = 10;
var s = i.toString();
alert(typeof s); //将输出 String
js数字与版字符串的区别
js的数字的加权法与字符串的连接都是 + 符号, 所以究竟是加还是字符串的连接就取决与变量的类型。
举例:
var a = 'abc' + 'xyz'; //a的值为:abcxyz,字符串与字符串是连接
var a = 10 + 5; //a的值为:15,数字是加
var a = 'abc' + 10; //a的值为:abc10,字符串与数字,自动将10转换成字符串了
var a = 'abc' + 10 + 20 + 'cd'; //a的值为:abc1020cd
var a = 10 + 20 + 'abc' + 'cd'; //a的值为:30abccd,可以数字加的先数字加,然后再连接
J. 如何用js类型转换函数将其强制转换成Number类型
var num=Number("你要转换的值")