쉼표 연산자는 쉼표로 구분 된 각 피연산자를 평가하고 마지막 피연산자의 값을 반환합니다.자바 스크립트 : 쉼표 연산자, var 및 범위 - 왜 작동합니까?
(i = 1 + 2), (j = 3 + 4);
는
또한i = 1 + 2;
j = 3 + 4;
기능적으로 동일 내가 아는 한, A, 연산자로 간주되지 않습니다 같은 var과 같은 문,하지만, 피연산자의 오히려 일부입니다. 각 피연산자 별도로 평가되고 그래서 만약 그렇다면 왜
function foobar() {
var i = 3, j = 7, z;
}
3 개 변수를 생성하지
(https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence보기) - I, J 및 Z -는 foobar의 범위?
나는 그것이 실제로 일어난다는 것을 안다. 그러나 나는 이것이 실제로 일어나는 이유는 얼마 동안 궁금해하고있다. 내가 foobar의 범위에 있어야하지만, j와 z는 전역 범위에서 끝나야합니다.
이 소유권 주장에 대한 참고 자료가 있습니까? 실제로 https://developer.mozilla.org/en/JavaScript/Reference/Statements/var에 명시된 내용은 표시되지 않습니다. – BrianFreud
아,이 예제의 텍스트는 https : //developer.mozilla에 있습니다. .org/ko/JavaScript/Reference/Operators/Special/Comma_Operator. 나는 이것이 "같은 것"이 아니라 "거의 같은 것"으로 만드는 그 작은 차이라고 생각한다 ... – BrianFreud
참조 :'var' 문은 쉼표 [자체 구문 요소로 지정]을 갖는다 (http : /www.ecma-international.org/ecma-262/6.0/#sec-variable-statement) (ECMAScript 사양) –