여기

2012-06-05 6 views
-1

내 exemple입니다 인수로 함수를 전달? 이러한 모든 기능은 전역 범위에 정의되어있는 경우여기

+0

로컬 변수는 전역 변수보다 우선합니다. 더 나은 명명 규칙을 사용하십시오. :) – epascarello

+1

예,이 질문은 의미가 없습니다. 당신이하는 일은 variabile에 그림자를 드리 우는 것입니다. – ZER0

답변

1

경우 B의 방지 동작 글로벌하지 않고, 당신이 명명 규칙을 사용하지 않으에, 당신은 추가 기능

function d() { 
    b(); 
} 

을 만드는 대신 하나를 호출 할 수 있습니다. 나는 여전히 당신이 당신의 주장을 단순히 당신의 주장과 함수의 이름으로 명명해야한다고 생각한다. 다른 사람 (당신의 미래 버전을 포함한다)이 코드를 보면서 혼란을 덜 일으킬 것이다.

1

이를 사용할 수 있습니다

window.b(); 
+0

좋습니다 ...하지만'b'가 전역 적이 지 않으면 어떻게 할 수 있습니까? – user1365010

+0

아, 그럼 너 운이 없어. 자바 스크립트에서 _ 섀도 잉을 참조하십시오. [here] (http://stackoverflow.com/questions/5373278/variable-shadowing-in-javascript) –

0

당신은 실제 함수를 호출 할 필요가 있다고 가정하면 두 가지 방법

b(); 

a(b); 
0

하여 호출 할 수 있습니다 a에서 b, 당신은 작성해야 :

window.b(); 
0

함수 a의 변수 b는 원하는대로 지정할 수있는 로컬 변수입니다. a의 범위 내에서 b를 호출하면 함수 범위 내에서 해당 이름의 외부 변수 또는 함수를 호출 할 수 없게됩니다. 여기 Sirko에 의해 전에 대답으로, 당신은 문제가있는 경우 범위 변수의 이름을 변경을 고려

window.b(); 

를 사용하여 기능의 범위 밖에 호출 할 수 있습니다.