我使用以下代码比较两个值:
function CompareValue($ValueTobePresent,$ExpectedValue)
{
var $ValueTobePresent=$ValueTobePresent.toLocaleLowerCase();
var $ExpectedValue = $ExpectedValue.toLocaleLowerCase();
_assertEqual($ValueTobePresent, $ExpectedValue);
}
现在我的问题是如果传递空值,则函数失败并显示以下消息: 记录异常:无法调用方法“toLocaleLowerCase”为null [81 ms] 无法将方法“toLocaleLowerCase”调用为null。
有没有办法可以解决它,以便我也可以处理空值? 此外,我有大约25个比较,所以我希望代码不是非常耗时。
由于
答案 0 :(得分:1)
如果这对你有效,你可以用空字符串替换空值
function CompareValue($ValueTobePresent,$ExpectedValue)
{
var $ValueTobePresent = ($ValueTobePresent || '').toLocaleLowerCase();
var $ExpectedValue = ($ExpectedValue || '').toLocaleLowerCase();
_assertEqual($ValueTobePresent, $ExpectedValue);
}
答案 1 :(得分:0)
var
function
ternary operator
检查传递的参数是否有效toString()
toLocaleLowerCase()
醇>
代码:
function CompareValue($ValueTobePresent, $ExpectedValue) {
$ValueTobePresent = $ValueTobePresent ? $ValueTobePresent.toString().toLocaleLowerCase() : '';
$ExpectedValue = $ExpectedValue ? $ExpectedValue.toString().toLocaleLowerCase() : '';
_assertEqual($ValueTobePresent, $ExpectedValue);
}