求一段JS代码,用js判断获取的var型里面到底是string型,还是int型的

2025-02-25 07:37:35
推荐回答(5个)
回答1:

首先js里没有int的概念,你要判断的应该是字符型和数值型,
假设变量未 a
代码:
if(Object.prototype.toString.call(a) == '[object String]'){
//a是字符型

}
以上代码可以判断a是否为string类型或String对象

if(Object.prototype.toString.call(a) == '[object Number]'){
//a是数值型
}
以上代码可以判断a是否为number类型或Number对象

回答2:

可以直接用parseInt()方法转换,如果是数值字符串,你会得到一个整形的值,如果不是数值字符串,你会得到NaN,检查转换结果是否为NaN就可以知道原字符串是否是数值字符串了,用try块无法处理,因为parseInt()在转换非数值字符串时并不会产生运行时错误,而是返回NaN

回答3:

var a = "123";
a.constructor === String    // true,a为string型
a = parseInt(a);
a.constructor === String    // false,a被转化为了number型
a.constructor === Number    // true

a = 123;
a.constructor === Number    // true,a为数值型

// 使用constructor比typeof更准确,如[]和{},使用typeof都是object,
// 但constructor 则可以用Array和Object来精确判断。

回答4:

用typeof 运算符就可以了。

var _str = "123";
typeof(_str) == "string"
var _int = 123;
typeof(_int) == "number"

回答5:

js里面有int型吗??只有number吧,
就用typeof判断不就行了,
var a = 'd';
var b = 1;
alert(typeof(a));
alert(typeof(b));