【发布时间】:2011-02-15 07:43:50
【问题描述】:
我有一个简单的问题:
如何检测传递给我的 javascript 函数的参数是否为数组?我不相信我可以测试:
if (typeof paramThatCouldBeArray == 'array')
那么有可能吗?
我该怎么做?
提前致谢。
【问题讨论】:
-
嗯...这让我想。如果可以传递其他任何东西,也许我的功能设计很糟糕。但我更多地问这个是因为
console.log()。这让我很感兴趣,因为如果你给它传递一个数组,它会遍历整个数组并打印出来。而如果你只传递一个字符串,它只会记录下来。它是如何做到的? -
抱歉,为了连续性,删除的评论是“参数还可以是什么其他类型?”
-
@Alex:在哪个浏览器中?它可能依赖于
Array.toString。 -
他们似乎使用了很多与浏览器相关的检查——检查getfirebug.com/releases/lite/1.2/firebug-lite.js的第1992行
-
@Alex:请注意,在 Chrome 中,
console.log是一个原生函数,因此可以访问 JS 脚本无法访问的信息。
标签: javascript arrays arguments parameter-passing