我有以下代码:
$('#modal .update-title')
.change(function () {
var title = $('option:selected', this).prop('title');
$(this).prop('title', title);
// For the question screen, after the initial set up
// changes move the title to the title input field.
if ($(this).data('propagate-title') === 'yes') {
var m = this.id.match(/^modal_TempRowKey_(\d+)$/);
if (m) {
$("#modal_Title_" + m[1]).val(title);
}
}
});
当我运行jslint时,它给出了以下错误:
Combine this with the previous 'var' statement.
var m = this.id.match(/^modal_TempRowKey_(\d+)$/);
是jslint错了还是我错了?
答案 0 :(得分:4)
使用if条件不会创建新范围。因此,如果条件为真,则仅存在变量m。所以这就是你能做的事情
$('#modal .update-title').change(function () {
var title = $('option:selected', this).prop('title'),
m = null; // or just m;
$(this).prop('title', title);
// For the question screen, after the initial set up
// changes move the title to the title input field.
if ($(this).data('propagate-title') === 'yes') {
m = this.id.match(/^modal_TempRowKey_(\d+)$/);
if (m) {
$("#modal_Title_" + m[1]).val(title);
}
}
});