求一段JS代码,用js判断获取的var型里面到底是string型,还是int型的
我觉得可以用ASK码判断,不过我不知道字符里面的具体ask码,也可以在转化成int型的时候报错,如Java里面的try{}catch{}的用法,赏分不多,还求见谅...
我觉得可以用ASK码判断,不过我不知道字符里面的具体ask码,也可以在转化成int型的时候报错,如Java里面的try{}catch{}的用法,赏分不多,还求见谅
展开
6个回答
展开全部
首先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对象
假设变量未 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对象
展开全部
可以直接用parseInt()方法转换,如果是数值字符串,你会得到一个整形的值,如果不是数值字符串,你会得到NaN,检查转换结果是否为NaN就可以知道原字符串是否是数值字符串了,用try块无法处理,因为parseInt()在转换非数值字符串时并不会产生运行时错误,而是返回NaN
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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来精确判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用typeof 运算符就可以了。
var _str = "123";
typeof(_str) == "string"
var _int = 123;
typeof(_int) == "number"
var _str = "123";
typeof(_str) == "string"
var _int = 123;
typeof(_int) == "number"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
js里面有int型吗??只有number吧,
就用typeof判断不就行了,
var a = 'd';
var b = 1;
alert(typeof(a));
alert(typeof(b));
就用typeof判断不就行了,
var a = 'd';
var b = 1;
alert(typeof(a));
alert(typeof(b));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询