2013-03-06 3 views
1

javascript 초보자 용 & jQuery. 사람들이 자신의 사이트에서 얻은 배지를 표시하는 사이트의 기능을 만들려고합니다. 복사하고 붙여 넣을 수있는 약간의 코드를 제공 할 것입니다. 누군가 자바 스크립트를 도와 주었고 완벽하게 작동하지만 jQuery 문서를 찾을 수 없습니다.jquery 함수에 값을 전달한 후 함수?

<script type="text/javascript"> 
    (function(id) { 
    // include js via php file with the id in as a parameter 
    })("myid"); 
</script> 

"myid"라는 레이블이있는 영역에 ID가 전달되고 jQuery에서이 방법으로 정적 변수를 전달할 수 있습니까? ("myid")을 삭제하려고 시도하고 var id = 'myid'으로 변경하면이 기능은 더 이상 작동하지 않습니다.

답변

2

표시중인 코드에서 "myid"의 발생은 정적 변수가 아닙니다. 익명 함수에 인수로 전달되는 문자열 리터럴입니다. 익명의 함수가 선언되고 바로 호출됩니다.

왜 프로그래머가 JavaScript를 어떻게 작성했는지 궁금하다면. 다음은 도움이 될 수 있습니다.

예는 모두 아래의 경고에 "대한 myid"를 표시한다 :

예 1

<script type="text/javascript"> 
var id = 'myid'; 
alert(id); 
</script> 

예 2

<script type="text/javascript"> 
(function(id) { 
    alert(id); 
})('myid'); 
</script> 

첫번째 예로서 "ID"를 선언 변수. 전역 변수이며 실제로 window 개체에 속성으로 추가됩니다. 두 번째 예제는 익명 함수를 정의하고 즉시 호출하여 'myid'을 "id"매개 변수의 값으로 전달합니다. 이 기술은 전역 변수 사용을 피합니다.

<script type="text/javascript"> 
(function() { 
    var id = 'myid'; 
    alert(id); 
})(); 
</script> 
: 물론

, 당신은 또한 다음을 수행하여 전역 변수를 피할 수

1

변수에 "myid"을 붙인 다음 해당 변수를 전달하면 작동합니다. 이처럼 :

이 말을하면
var memberID = "myid"; 
(function(id) { 
    // include js via php file with the id in as a parameter 
})(memberID); 

...

(function(id) { 
    // include js via php file with the id in as a parameter 
})(var id = 'myid'); 

... 당신이 작동하지 않습니다 함수 호출에 변수 선언을 고수하려고하고 있습니다. 그래서 위의 변수를 함수 호출과 구분하여 선언해도 오류는 발생하지 않습니다.

관련 문제