如何检查 var 在 JavaScript 中是否是字符串?
2022-08-30 01:16:10
如何检查 var 在 JavaScript 中是否是字符串?
我已经试过了,但它不起作用...
var a_string = "Hello, I'm a string.";
if (a_string typeof 'string') {
// this is a string
}
如何检查 var 在 JavaScript 中是否是字符串?
我已经试过了,但它不起作用...
var a_string = "Hello, I'm a string.";
if (a_string typeof 'string') {
// this is a string
}
您很接近:
if (typeof a_string === 'string') {
// this is a string
}
在相关的说明中:如果使用类型创建字符串,则上述检查将不起作用。有复杂的解决方案可以解决这个问题,但最好避免以这种方式创建字符串。new String('hello')
Object
typeof
运算符不是中缀(因此示例的 LHS 没有意义)。
您需要像这样使用它...
if (typeof a_string == 'string') {
// This is a string.
}
请记住,是运算符,而不是函数。尽管如此,你会看到在野外被大量使用。这与 一样有意义。typeof
typeof(var)
var a = 4 + (1)
另外,您也可以使用(相等比较运算符),因为两个操作数都是s(总是返回a),JavaScript被定义为执行我使用的相同步骤(严格比较运算符)。==
String
typeof
String
===
正如 Box9 所提到的,这不会检测到实例化的对象。String
你可以用它来检测....
var isString = str instanceof String;
...或。。。
var isString = str.constructor == String;
但这在多环境(想想s)中不起作用。window
iframe
你可以解决这个问题...
var isString = Object.prototype.toString.call(str) == '[object String]';
但同样,(正如Box9所提到的),您最好只使用文字格式,例如.String
var str = 'I am a string';
延伸阅读。