Простой ответ - нет, они не будут влиять друг на друга.
работает так, что каждое имя переменной уникально, поэтому m
, m1
, m2
, m3
,m4
никак не влияет друг на друга:
Однако, в зависимости от значения, установленного для переменной, вы можете обращаться и изменять данные следующим образом: m[2]
причина этого в том, что m
это массив или объект какого-то рода, и вы можете получить доступ к отдельным элементам, используя []
, что, вероятно, и приводит вас в замешательство.
Пример того, как переменные влияют друг на друга:
var a = 'hello';
var b = 'world';
alert(a); //hello
alert(b); //world
alert(a + b); //helloworld
alert(b + a); //worldhello
a = b;
alert(a); //world
alert(b); //world
b = 'hey';
alert(b); //hey
, как вы можете видеть из приведенных выше примеров, если вы измените значение переменной, которая уже была установлена, она изменит значение, если переменной еще не было установлено, ей присвоено значение;
Хорошая уловка в том, что вы должны научиться самостоятельно вызывать анонимные функции, поэтому мы используем их для создания блока, в который помещается наш код, чтобы он не влиял ни на что другое, кроме блока.e
var hey = 'hey';
(function(){
var hey = 'bye'; //This is only effective inside the {}
alert(hey); //You get 'bye';
//Access the global scope
alert(window.hey); //You get 'hey';
//modifiy the external scope
window.hey = 'modified from within the function';
//expose vars inside the function scope to the global window:
window.exposed = hey; //Remember hey is internal and is set to 'bye';
})();
alert(exposed); //'bye';
alert(hey); //'modified from within the function'
надеюсь, теперь вы понимаете немного больше