2012-07-21 8 views
-8

, 나는이 사용했습니다 : 자바 스크립트에서자바 스크립트에 해당 매개 변수 전달

do_it($var2 = 'something_cool'); 

function do_it($var1, $var2) { 
// does something 
} 

을, 나는 표기 아주 확실하지 않다.

do_it(var2 = 'something_cool'); // This isn't right, I don't think. 

function do_it(var1, var2) { 
// does something 
} 

var2를 정의하고 var1은 비워두고 싶습니다. 문제의 라인에 대해 내 do_it이 어떻게 보이게해야합니까?

+1

PHP에서 "틀린"것입니다 : 이것은 함수 내에서'$ var1'에''something_cool ''을 지정하고'$ var2'에는 기대하지 않습니다. 나도 모르겠어, 어디에서 이걸 얻을 수 있지만, PHP에는 명명 된 매개 변수가 없다. ... – KingCrunch

+0

PHP에서 그 일을했다는 것을 맹세한다. ... 나는 아마 WordPress에서 디폴트 값을 설정하고있다. 매개 변수들 중 하나만 변경했습니다. 그래서 왜 내가 JavaScript에서 그렇게 할 수 있다고 생각했는지. D' oh! –

+0

그러나 (언급 한대로) 매개 변수는 왼쪽에서 오른쪽으로 만 설정할 수 있습니다 .... PHP에는 명명 된 매개 변수가 없습니다! – KingCrunch

답변

6

두 가지 중 어느 것도 정확합니다. PHP는 var1에서 그 값을 얻을 것이다. JS에서는 첫 번째 매개 변수에 무언가를 지정하지 않으려면 null으로 지정하십시오.

do_it(null, 'something_cool'); 

그리고 함수 내에서 null인지 확인하고 null이면 기본값을 지정하십시오. 또는 순서를 변경하여 필요가 없도록하십시오. JS에서는 함수에 여러 매개 변수를 전달할 수 있습니다.

1

PHP 버전은 누락 된 두 번째 인수 오류를 인쇄합니다. 자바 스크립트의 선택 변수의 :

function A(var1, var2) 
{ 
    if (!var2) 
      var2 = "default"; 
} 

A(1); 
+2

아니요. ErrorException을 throw하도록 설정된 사용자 정의 오류 처리기가 없으면 PHP 경고 만 트리거합니다. – Lusitanian

+0

맙소사. 내 말은 PHP가 잘못되어 일부 오류가 발생한다는 것입니다. – Novak

+0

분명히 아무런 해를 입지 않았으므로 전체적인 점이 정확합니다. – Lusitanian