반응형
함수 내에서 전역 변수의 값을 변경하는 방법
JavaScript를 사용하고 전역 변수를 만듭니다. 함수 외부에서 정의하고 전역 변수 값을 함수 내부에서 변경하고 다른 함수에서 사용하고 싶습니다. 어떻게해야합니까?
함수 내부의 변수를 참조하십시오. 마법이 아니라 이름 만 사용하십시오. 전역 적으로 생성 된 경우 전역 변수를 업데이트하게됩니다.
을 사용하여 로컬로 선언하여이 동작을 재정의 할 수 var
있지만을 사용하지 않으면 var
해당 변수가 전역 적으로 선언 된 경우 함수에 사용 된 변수 이름이 전역 이름이됩니다.
그렇기 때문에 항상 변수를 명시 적으로 선언하는 것이 가장 좋습니다 var
. 잊어 버리면 우연히 지구본을 망칠 수 있습니다. 만들기 쉬운 실수입니다. 그러나 귀하의 경우, 이것은 돌아 서서 귀하의 질문에 대한 쉬운 대답이됩니다.
var a = 10;
myFunction();
function myFunction(){
a = 20;
}
alert("Value of 'a' outside the function " + a); //outputs 20
해당 변수의 이름을 사용하십시오.
JavaScript에서 변수는 함수의 매개 변수이거나 var
변수 이름 앞에 키워드를 입력하여 명시 적으로 로컬로 선언 한 경우 함수의 로컬 변수입니다.
로컬 값의 이름이 글로벌 값과 같은 이름 인 경우 window
개체를 사용하십시오.
이 jsfiddle 참조
x = 1;
y = 2;
z = 3;
function a(y) {
// y is local to the function, because it is a function parameter
console.log('local y: should be 10:', y); // local y through function parameter
y = 3; // will only overwrite local y, not 'global' y
console.log('local y: should be 3:', y); // local y
// global value could be accessed by referencing through window object
console.log('global y: should be 2:', window.y) // global y, different from local y ()
var x; // makes x a local variable
x = 4; // only overwrites local x
console.log('local x: should be 4:', x); // local x
z = 5; // overwrites global z, because there is no local z
console.log('local z: should be 5:', z); // local z, same as global
console.log('global z: should be 5 5:', window.z, z) // global z, same as z, because z is not local
}
a(10);
console.log('global x: should be 1:', x); // global x
console.log('global y: should be 2:', y); // global y
console.log('global z: should be 5:', z); // global z, overwritten in function a
편집하다
ES2015과 함께 두 이상의 키워드가 온 const
과 let
또한 변수의 범위에 영향을 미치는, ( 언어 사양 )
<script>
var x = 2; //X is global and value is 2.
function myFunction()
{
x = 7; //x is local variable and value is 7.
}
myFunction();
alert(x); //x is gobal variable and the value is 7
</script>
var a = 10;
myFunction(a);
function myFunction(a){
window['a'] = 20; // or window.a
}
alert("Value of 'a' outside the function " + a); //outputs 20
함께 창 [ '여기서 variableName'] 또는 window.variableName 당신은 함수 내에서 전역 변수의 값을 수정할 수 있습니다.
반응형
'program story' 카테고리의 다른 글
Python에서 syslog에 로깅을 구성하는 방법은 무엇입니까? (0) | 2020.07.30 |
---|---|
투명한 이미지를 위해 가능한 가장 작은 데이터 URI 이미지 (0) | 2020.07.30 |
실제 wsdl 파일만으로 서비스 참조를 생성하는 방법 (0) | 2020.07.30 |
dplyr에서 "이름 바꾸기"대체 (0) | 2020.07.30 |
프로필 값을 할당하는 방법? (0) | 2020.07.30 |