gpt4 book ai didi

javascript - 如何检查切换主题是否为对象?

转载 作者:行者123 更新时间:2023-11-30 08:43:19 25 4
gpt4 key购买 nike

我的 Ajax 响应可以是 json 对象bool 或各种字符串值

我可以检查它是否是 switch 语句中的对象吗?

$.post('url',{some:'data'},function(response){
switch (response){
case true:
console.log('is true');
break;
case false:
console.log('is false');
break;
case 'success':
console.log('is success');
break;
case typeof this === 'object' // thought I'd try this but it didn't work.
console.log('is object');
break;
}
});

最佳答案

switch 在参数和 case 表达式之间执行相等比较。所以 case typeof this === 'object' 计算 typeof this === 'object' 的值,该值要么是 true 要么false 取决于 this 是什么(在您的回调中它将是 window),并将其与 response 进行比较。它不会测试 response 的类型。如果要对 response 的类型执行切换,请将其用作参数。

尝试:

switch (typeof response) {
case 'boolean':
if (response) {
console.log('is true');
} else {
console.log('is false');
}
break;
case 'string':
if (response == 'success') {
console.log('is success');
} else {
// do something
}
break;
case 'object':
console.log('is object');
break;
}

更一般地说,当您想对相同的值进行一系列相等性测试时,应该使用switch。您不能在同一个 switch 中混合相等性和类型测试;一个需要使用 switch,另一个需要使用 if

关于javascript - 如何检查切换主题是否为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251798/

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