2010-05-12 9 views
1

여기 상황은 다음과 같습니다.자바 스크립트의 함수에서 전역 변수 업데이트

로컬 변수가있는 함수가 하나 있습니다. 그 값을 전역 변수에 할당하고 싶습니다. 우리는 다른 함수의 값입니다.

global_var = "abc"; 

function loadpages() 
{ 
    local_var = "xyz"; 
    global_var= local_var; 
} 

function show_global_var_value() 
{ 
    alert(global_var); 
} 

나는 HTML 페이지에서 show_global_var_value() 함수를 호출하고있어하지만 내가 뭘 잘못 없다 "ABC"

값 = "XYZ"를 보여줍니다 여기

코드입니다 ?

+3

'local_var'은 전역입니다. 'var' 키워드로 변수를 선언하여 로컬 변수로 만듭니다 :'var local_var = "xyz"; ' –

+1

문제가 어디 있는지 이해할 수 없습니다. 그것은 당신이 원하는 것처럼 정확하게하고 있습니다. BTW,'local_var'는 로컬이 아닙니다. 'var'를 사용하여 로컬로 선언해야합니다 :'val local_var = "xyz";' – RoToRa

+0

당신의 질문은 의미가 없습니다. 경고에 "abc"가 표시되어야한다고 생각하는 이유에 대해 설명해주십시오. 특히'global_var'를'xyz '로 설정하지 않으면'loadpages' 함수가해야 할 일은 무엇이라고 생각합니까? – Pointy

답변

0

당신이 전에 지적 다른 같은 var 문으로 선언 지역 변수에서 분리해야 할 일은, JS에 소개 된 let 문 1.7

var global_var = "abc"; 

function loadpages() 
{ 
    var local_var = "xyz"; 
    let global_var= local_var; 
    console.log(global_var); // "xyz" 
} 

function show_global_var_value() 
{ 
    console.log(global_var); // "abc" 
} 

참고 :은 (순간 JS 1.7을 사용하는 2014-01) 스크립트 태그의 버전을 선언해야합니다 : 그러나

<script type="application/javascript;version=1.7"></script> 

let 지금 ECMAScript를 하모니 표준의 일부이며, 따라서 될 것으로 예상 가까운 장래에 완전하게 이용할 수 있습니다.

+0

버전 선언을 본 적이 없습니다. 확실히 ** 필수 사항은 아닙니다 ** –