2014-02-20 3 views
2

Этот вопрос имеет несколько ответов (вроде) уже: Javascript: Var = Var = функции, несколько переменных назначений в одной строке и т.д., но я хотел бы задать другой вид вопрос об этом.Javascript множественного присваивания переменной

Таким образом, это очень удобно, чтобы иметь возможность использовать:

var av = 0, bb; 
var cvs = bb = av; 
console.log(cvs,bb) // outputs 0 0 

Мой вопрос, как кросс-браузер это? Могу ли я уйти с использованием этого повсюду, в том числе IE6 или этажерки, или я должен просто придерживаться:

var av = 0, bb; 

bb = av; cvs = av; 

И если изменить одну переменную в любой точке кода, значит ли это, что другая переменная изменено или нет связи за пределами первоначального назначения?

Спасибо!

+1

Это кросс-браузер. – zerkms

+2

Это часть JavaScript, поэтому она должна работать в браузерах, которые реализуют JavaScript. – K3N

ответ

0

Чтобы ответить на ваш второй вопрос:

И если изменить одну переменную в любой точке в коде, это значит, что, что другая переменная тоже изменилось или нет связи за пределами первоначального присвоения?

Это легко проверить:

var av = 0, bb; 
var cvs = bb = av; 
console.log(av, cvs, bb); // outputs 0 0 0 

cvs = 1; 
console.log(av, cvs, bb); // outputs 0 1 0 

bb = 2; 
console.log(av, cvs, bb); // outputs 0 1 2 

av = 3; 
console.log(av, cvs, bb); // outputs 3 1 2 

Таким образом, нет никакой связи за пределами первоначального назначения.

+0

Это неправда. В этом случае объекты передаются по ссылкам. – Whatcould

Смежные вопросы