2017-02-24 4 views
-5

JavaScriptでのグローバル変数の使用を避けるにはどうすればよいですか? 「聞かせて」いるJavaScriptでのグローバル変数の回避方法

//load more 
    var size_li = $("#myList li").size(); 
    var x = 3; 
    $('#myList li:lt(' + x + ')').show(); 
    $('.loadmore').on('click', function() { 
     x = (x + 2 <= size_li) ? x + 2 : size_li; 
     $('#myList li:lt(' + x + ')').show(); 
    }); 
+0

これは私の答えではなく、 'x =(x + 2 <= size_li)という行に含めることはありませんか? x = 2、size_li; 'x = Math.min(x + 2、size_li)に単純化することができます; ' – AmericanUmlaut

答えて

1

このための良い技術は、自己実行クロージャであります:

この手法をコードに適用すると、グローバル変数を持たないように書くことができます。

(function() { 
    var size_li = $("#myList li").size(); 
    var x = 3; 

    $('#myList li:lt(' + x + ')').show(); 
    $('.loadmore').on('click', function() { 
     x = (x + 2 <= size_li) ? x + 2 : size_li; 
     $('#myList li:lt(' + x + ')').show(); 
    }); 
})(); 
+0

本当にありがとう –

0

私が知っている方法はES6であるが、ブロック

内の変数を定義することができます。例:

var b = 5 
{ 
let a = 10 
} 
a//undefine 
b// is 5 
関連する問題