"JavaScript中有哪些数值类型?如何处理数字与字符串相乘的情况?

在JavaScript中,我经常混淆数字和字符,比如’3’和3。JavaScript中的数值有哪些也不是很清楚?希望有高手能点拨下。"

你不用担心JavaScript中有哪些数值类型,因为JavaScript数值都为64位的浮点数,所以JavaScript的没有整型、浮点型、双精度等类型。如var i = 125;因为i存储值为数字,所以是以64位浮点数值存储的。

现在回答你的第二个问题:数字是不能与字符串相乘的,如果你非得这么做,那么你将得到一个NAN的值,表示结果不是一个数值。举例例子:
var m = 3;
var n = "b";
console.log(m * n); //输出为NaN,NaN在JavaScript中有特殊的含义,代表非数字
//值,用于指示某个值不是数字。

但是如果字符串中的内容是数值,JavaScript还是有方法使其进行乘法操作的。如下操作:
1、 使用Number方法,判断字符串中的内容是否为数值。如下示例:
var m = "3";
var num = Number(m);

Number方法是JavaScript内置的方法,它会尽量把变量转换为数值,若转换成功,则返回转换后的数值。但不是所有的字符串都能转换成数值,若不能转换为数字的情况,则返回值是NaN。

2、 使用isNaN方法,判断字符是不是NaN。如下示例
if ( isNaN( num)) { //isNaN方法可以判断传入的值是否是非数字值。
console.log('非数字值'); //返回true:传入的值是一个非数字值。
}
else {
console.log(m*num); //返回false:传入的值是一个数字值。可以相乘。
}

所以如果你要将数字与字符串相乘,你需要借助Number和isNaN方法。完整的示例如下:
var m = "b";
var n = 3;
var num = Number(m);
if ( isNaN( num)) {
console.log('非数字值');
}
else {
console.log(m*num);
}

关于JavaScript数据类型的知识,你可以参考下教程网站秒秒学的课程。
温馨提示:答案为网友推荐,仅供参考
相似回答