javascript - 尝试在 Javascript 中执行空合并运算符时出错

标签 javascript jquery error-handling null

尝试为表单提交计划一个字符串生成器:

try{
  top.document.getElementById("attributes").contentWindow.location = "attributeToolbar.aspx?el_id=" + (t_selected.attr("id").match(intRegex)[0] || "new") + "&opts="+ form_to_server();
}catch(err){
  alert(err);
  //prints:   TypeError: Unable to get value of the property '0': object is null or undefined.
}

我正在考虑将正则表达式与匹配项分开,如果没有匹配项,则将其分配给“new”以表明它不在 jquery 对象中。

上面语句中的关键区域是:

(t_selected.attr("id").match(intRegex)[0] || "new")

最佳答案

如果您只想测试匹配项,请执行以下操作:

... intRegex.test(t_selected.attr("id")) ...

相反。如果“匹配”调用返回 null,数组索引运算符将给出该错误。

关于javascript - 尝试在 Javascript 中执行空合并运算符时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11037079/

相关文章:

javascript - Facebook Javascript SDK 未加载

javascript - 无法通过 jQuery 访问 AJAX 响应数据

javascript - JQuery DataTables 元素显示并切换,但排序根本不起作用?

javascript - 获取完整的 HTML 内容网页(包括 javascript 内容)

c# - 如何指示 TypeConverter 中的错误

php - Zend框架/表格: custom elements not shown on error

javascript - 困难的 Regex Javascript 重复替换

javascript - 每个 session 只显示一次弹出窗口

javascript - 如何删除符合特定条件的所有 Div 的样式?

php - 如何捕获 PHP 7 中的 "Call to undefined method"错误?