2014-05-22 6 views
0

나는 C과 관련하여 많은 경험을 가지고 있지만, 나는 JavaScript을 사용하여 상당히 새롭다. 나는 설명을 찾고 있었지만 내 질문을 올바르게 표현하지 못하는 것 같았다. 변수를 변경해야하는 함수를 알려줄 필요가 있습니다. 여기 코드는 다음과 같습니다JavaScript의 전역 변수에 대한 포인터

<!DOCTYPE html> 
<html> 
<head> 
    <script> 
    function test(blah) 
    { 
    if (!window.blah) 
    window.blah = 0; 
    window.blah++; 
    document.getElementById(blah).innerHTML = window.blah; 
    } 
    </script> 
</head> 
<body> 
    <div id="first">0</div> 
    <input type="button" onclick="test('first')" value="change"> 
    <br> 
    <div id="second">0</div> 
    <input type="button" onclick="test('second')" value="change"> 
    <br> 
</body> 
</html> 

코드의 목적은 두 개의 카운터를 가지고있다 - 두 번째 버튼을 클릭하면 window.second를 증가한다 동안 window.first를 증가해야하는 첫 번째 버튼을 클릭. 이것을 어떻게 표현합니까?

+1

window.blah 대신 창 사용 [blah] – zvona

답변

2

당신은 대괄호 표기법을 사용하여 변수 이름을 지정해야합니다 희망이 점 표기법은 대괄호 표기법에 비해 작동 방법에 대한 아이디어를 제공

function test(blah) 
{ 
    if (!window[blah]) 
     window[blah] = 0; 
    window[blah]++; 
    document.getElementById(blah).innerHTML = window[blah]; 
} 

을;

var o = { 
    key: 'value', 
    foo: 'bar' 
}; 

var key = 'foo'; 

console.log(o['foo']); // 'bar' 
console.log(o[key]); // 'bar' 
console.log(o.key); // 'value' 
+0

오, 그 모양은 배열입니까? 고맙습니다! – Ulrik

+1

@Ulrik 아니,지도 같아. – plalx

+0

@Ulrik JS에서'something.blah'는'something '의'blah' 멤버이고'something [blah]'는'blah'의 문자열 인 멤버입니다. –

관련 문제