检查变量在 JavaScript 中是数字还是字符串
2022-08-29 23:00:01
有谁知道我如何检查变量在JavaScript中是数字还是字符串?
如果您正在处理文字表示法,而不是构造函数,则可以使用typeof:。
typeof "Hello World"; // string
typeof 123; // number
如果要通过构造函数(如 )创建数字和字符串,则应记住,可能会返回 。var foo = new String("foo")
typeof
object
foo
也许检查类型的更万无一失的方法是利用下划线中找到的方法.js(注释的源可以在这里找到),
var toString = Object.prototype.toString;
_.isString = function (obj) {
return toString.call(obj) == '[object String]';
}
这将返回以下内容的布尔值:true
_.isString("Jonathan"); // true
_.isString(new String("Jonathan")); // true
最好的方法是使用 + 类型转换:isNaN
更新了全能方法:
function isNumber(n) { return !isNaN(parseFloat(n)) && !isNaN(n - 0) }
使用正则表达式相同:
function isNumber(n) { return /^-?[\d.]+(?:e-?\d+)?$/.test(n); }
------------------------
isNumber('123'); // true
isNumber('123abc'); // false
isNumber(5); // true
isNumber('q345'); // false
isNumber(null); // false
isNumber(undefined); // false
isNumber(false); // false
isNumber(' '); // false