gpt4 book ai didi

Javascript函数在使用三元语句时返回undefined

转载 作者:行者123 更新时间:2023-11-29 10:09:44 25 4
gpt4 key购买 nike

<分区>

给定两个实现完全相同逻辑的 JS 函数,第一个 (test1) 将始终返回 undefined 而第二个 (test2) 将返回预期值。实现差异是单个返回语句,而不是将评估值存储在局部变量中然后返回。

为什么 test1 返回的是 undefined 而不是预期的结果?其次,为什么将它存储在局部变量 (test2) 中使其起作用?

具体例子如下:

function test1(a,b)
{
return
a && a == 1 && b && b.match(/abc/i) ?
a + 1 :
0;
}

function test2(a,b)
{
var val =
a && a == 1 && b && b.match(/abc/i) ?
a + 1 :
0;
return val;
}


alert(test1(1,'abc')); // returns undefined when it should return 2
alert(test2(1,'abc')); // returns 2 as expected

这是一个 JSFiddle:https://jsfiddle.net/8gmn004t/1/

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