'함수 내 전역 변수 설정'에 대한 답변은 question에 불과하지만 의심의 여지가 있습니다.로컬 변수 이름에 대한 숫자로 함수 매개 변수
이것은 매우 기본적인 내용 일 수 있지만 누군가 내가 왜 이렇게 오류가 발생하지 않는지를 말해 줄 수 있습니까? 나는 ... 어떤 함수에 전달하는 변수 i 값의 복사본 이해하지만 왜
var i = 5;
function exp(i) {
i = 7;
console.log(i);
}
exp(i);
//logs 7
또는
function exp(i) {
return i = 7;
console.log(i);
}
exp(5)
//logs 7
과 :
function exp() {
return 5 = 7; //or console.log(5 = 7);
}
exp()//Uncaught ReferenceError: Invalid left-hand side in assignment
에서 첫 번째 예제는 5 = 7로 만들지 않습니까? 함수가 '7'을 기록하는 이유는 무엇입니까?
이 모두 내가 지역 변수에 대한 멋진 JavaScript Garden이 예를 본 적이 후 온 :
// global scope
var foo = 1;
var bar = 2;
var i = 2;
function test(i) {
// local scope of the function test
i = 5;
var foo = 3;
bar = 4;
}
test(10);
왜 시험 (10) 오류가되지 않습니다 함수 내에서 10 = 5를 설정하는?
, 사용자의 설정 값 7 전을 variabile합니다. 당신이 "return i == 7"을하면 5 == 7, 따라서 false를 반환합니다. –
하지만 그렇다면 글로벌 변수 i를 7로 변경하려고합니다. 그렇지 않은 경우입니다. 변수 i는 여전히 5 일 것입니다 (첫 번째 예제에서) – viery365
[JavaScript가 참조로 전달되었거나 값순으로 전달되는 언어입니까?] (http://stackoverflow.com/questions/518000/is- javascript-a-pass-by-value-by-value-by- – 4castle