我正在使用ajax获取数据,结果可以是结果数组,也可以是“找不到结果”的字符串语句。我怎么知道我是否有任何结果? 我试过这种方法:
if result == String
do something
但它不起作用,就像
一样if typeof(result) == "string"
do something
是否还有其他功能可以帮助我获取变量的类型?或者也许我可以测试它的数组类型,它也会非常有用
答案 0 :(得分:31)
使用typeof
doSomething(result) if typeof result is 'string'
请注意,typeof
是一个不是函数的运算符,因此您不能写typeof(result)
你也可以这样做
doSomethingElse(result) if typeof result isnt 'string'
甚至
return if typeof result is 'string'
doSomething result
else
doSomethingElse result
有关Coffeescript
条件的更多信息,请参阅http://coffeescript.org/#conditionals。
答案 1 :(得分:2)
这可以通过许多常见libraries的方式来完成:
isString = (obj) -> toString.call(obj) == '[object String]'
您也可以尝试使用原生Array.isArray
功能,然后回归
类似于上面使用的类型检查样式:
isArray = Array.isArray or (obj) -> toString.call(obj) == '[object Array]'
答案 2 :(得分:0)
这有用吗?
if Object.prototype.toString.call(result) == '[object String]'
do something