如何处理未定义的查询变量
how to deal with an undefined query variable
在我的应用程序中启动对话框:
$('.dialogDo').live('click', function() {
// Do we have a custom width?
var width = this.search.match(/width=('d+)/)[1];
if (width) {
dialogDo(this.href, width);
}
else {
dialogDo(this.href, 480);
}
return false;
});
如果在href中定义了触发上面的click函数的宽度,则可以正常工作。问题是,如果宽度没有定义它打破。我如何处理未定义的宽度,同时仍然保持使用宽度的功能,如果提供?
谢谢
一个选择是设置一个默认宽度。
var matched = this.search.match(/width=('d+)/);
var width = matched ? matched[1] : DEFAULT_WIDTH;
Edit——match可以返回null如果没有匹配,你不能索引到null。(感谢@Chris)
javascript match函数如果不匹配则返回null,如果匹配则返回结果数组。所以你需要在用[1]
索引它之前检查结果实际上是一个数组。例如:
var width = this.search.match(/width=('d+)/);
if (width) {
dialogDo(this.href, width[1]);
}
else {
dialogDo(this.href, 480);
}
试试这个
$('.dialogDo').live('click', function() {
// Do we have a custom width?
var width = this.search.match(/width=('d+)/)[1];
if (!isNaN(width)) {
dialogDo(this.href, width);
}
else {
dialogDo(this.href, 480);
}
return false;
});
相关文章:
- jqueryajax生成查询字符串,如果未定义则不通过
- *简单*解析云代码查询失败”;TypeError:无法调用方法'获取'未定义的“检索该信息”;
- 类型错误:无法读取未定义的 mysql 查询的属性“名称”
- 在IE8中查询未定义的变量
- 查询 TaffyDB - 查询未定义的列值
- j查询工具提示引发错误:未定义函数
- 猫鼬,函数不能在未定义的、来自查询函数上执行
- 余烬数据断言失败:无法对未定义的对象使用“查询”调用 get
- 运行器在 Knex.js 的查询中未定义
- 数据库查询在 node.js 中使用 oracledb 返回未定义的值
- 解析查询“无法调用未定义的方法'等于'”
- 帆查询不断呈现未定义的对象
- Grunt Combine媒体查询-无法调用方法“”;加入“;的未定义
- 带有Select2的FormValidation未捕获异常:未为Select2定义查询函数
- 正在分析查询,但结果显示为未定义或找不到
- Meteor findOne查询在一个模板助手中返回未定义的结果.在其他模板助手中,同样的查询也能很好地工作
- Node.js:数据库查询后返回值未定义
- 在Javascript中使用SQL查询时遇到未定义函数错误
- 类型错误:试图将未定义的属性查询包装为函数
- 在TaffyDB查询中使用JS变量返回未定义