gpt4 book ai didi

javascript - 如何区分 javascript 中的对象和字符串?

转载 作者:可可西里 更新时间:2023-11-01 02:13:10 24 4
gpt4 key购买 nike

我有一个 javscript 函数(实际上是一个 jQuery 插件),我想调用它

myFunction("some input");

myFunction({ "prop": "value 1", "prop2": "value2" });

如何在函数中区分两者?

换句话说,下面的 if 条件应该包含什么?

if (/* the input is a string */)
{
// Handle string case (first of above)
}
else if (/* the input is an object */)
{
// Handle object case (second of above)
}
else
{
// Handle invalid input format
}

我可以随意使用 jQuery。

更新:如回答中所述,如果输入是 new String('some string')typeof(input) 将返回 “对象”。如何测试 new String(''),以便我可以像处理 '' 一样处理它?<​​/p>

最佳答案

if( typeof input === 'string' ) {
// input is a string
}
else if( typeof input === 'object' ) {
// input is an object
}
else {
// input is something else
}

请注意 typeof 也将数组和 null 视为对象:

typeof null === 'object'
typeof [ 1, 2 ] === 'object'

如果区别很重要(您只需要“实际”对象):

if( typeof input === 'string' ) {
// input is a string
}
else if( input && typeof input === 'object' && !( input instanceof Array ) ) {
// input is an object
}
else {
// input is something else
}

关于javascript - 如何区分 javascript 中的对象和字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com