Две переменные с одинаковыми именами - PullRequest
3 голосов
/ 22 сентября 2011

В https://github.com/Khan/khan-exercises/blob/master/khan-exercise.js

есть две var Khan переменные. Как так? Они влияют друг на друга?

Ответы [ 2 ]

8 голосов
/ 22 сентября 2011

Один Khan - это имя глобальной переменной "Khan", другой - переменная внутри самоисполняющейся функции, которой она равна.

var Khan = (function(){

    ....

    var Khan = ...

    ....

})();

Отступ в исходном файле ужасен, и вы, вероятно, не заметили этого ...

2 голосов
/ 22 сентября 2011

переменные, заключенные в анонимные функции, работают только внутри этой функции.

Так что это должно работать нормально.

<script type="text/javascript">
$(function(){
   var khan = (function(){
        var khan = //this should not be a problem and they both work, this will be only available in the function
   }); 
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...