为什么jsHint会警告我:'(var)已定义但从未使用'?

时间:2012-12-05 13:26:46

标签: javascript jquery jshint

我正在使用CodeKit在我的脚本上运行jsHint,并最小化它们,我想了解以下错误:

    // create a next button for each text input and wire it for nextQ()!
    var next = $('<a class="button next">Next</a>')
        .on( 'click', function() {
            nextQ( $(this) );
        })
        .insertAfter( $questions.find(':text') );

jsHint警告:

  

接下来定义但从未使用过

鉴于元素在每个页面加载时是insertAfter(),这是jsHint的限制,还是我做错了什么?我的jQuery非常基础,我想从错误中吸取教训!

2 个答案:

答案 0 :(得分:4)

嗯,您正在定义一个回调,它不需要分配给变量;你可以这样做:

$('<a class="button next">Next</a>')
    .on( 'click', function() {
        nextQ( $(this) );
    })
.insertAfter( $questions.find(':text') );

所以下一步没有用。

答案 1 :(得分:1)

next var是不必要的,因为.insertAfter()的返回值会调用.on()。除非你打算在next打电话,否则你可以这样做:

$('<a class="button next">Next</a>')
    .on( 'click', function() {
        nextQ( $(this) );
    })
    .insertAfter( $questions.find(':text') );