답변
function display_message(bool, msg, remove_wrap) {
remove_wrap = remove_wrap === true;
if(bool === true) {
error = get_msg(msg, remove_wrap);
}else{
error = get_error_msg(msg, remove_wrap);
}
$.fancybox(error, { 'autoDimensions' : false, 'width' : 450, 'height' : 'auto', 'transitionIn' : 'none', 'transitionOut' : 'none' });
}
자바 스크립트 함수 매개 변수에 기본값을 제공 할 수는 없지만 정의되지 않은 채로두고 함수 시작 부분에 기본값을 지정할 수 있습니다.
예를 들어:
function display_message(bool, msg, remove_wrap) {
if(undefined === remove_wrap)
remove_wrap = false;
//Rest of function
}
전화 같은이 기능 : display_message(true, "my msg");
이
당신은 다음과 같은 기본 값을 처리 할 수 있습니다 : 함수 인 경우 기본값이 적용됩니다
function display_message(bool, msg, remove_wrap) {
if (remove_wrap == null) remove_wrap = false;
// rest of your code...
}
다음 중 하나와 함께 호출 :
display_message(some_bool, some_msg);
// Or,
display_message(some_bool, some_msg, null);
null
과 비교하면 발신자가 기본값을 묻는 메시지를 표시 할 수 있기 때문에 편리하지만 간단한 위조 비교처럼 0
또는 ''
(빈 문자열)을 무시하는 경향이 없습니다.
당신은 함수 선언의 매개 변수 섹션에 기본 값을 선언 할 수 없습니다
function display_message(bool, msg, remove_wrap) {
if(remove_wrap === undefined) {
var remove_wrap = false;
}
...
을 시도합니다.
function display_message(bool, msg, remove_wrap) {
remove_wrap = remove_wrap || false;
// rest of code
}
따라서, remove_wrap가 정의되어있는 경우 그 자체와 동일있을 것이다, 그러나이 정의되지 않은 경우는 false로 설정됩니다 대신, 다음과 같이한다 기본적으로 귀하의 함수 선언을 선언합니다.
PHP 사용자이기 때문에 편리 할 수 있습니다. 첫 번째 값 또는 두 번째 값에 해당하는 경우
가function (some_var) {
some_var = some_var || 'default';
}
PHP에서 "또는"운영자가 "true"를 반환합니다 JS 자신에서 오는, 사실은이 언어에 있던 가정, 몇 번을 엉망 그렇지 않으면 "거짓"입니다.
JavaScript에서 "or"연산자는 실제로 첫 번째 값인을 반환합니다.
두 값이 모두 위증 일 경우에만
두 값이 모두 위증하면 두 번째 값인 을 반환합니다. 즉 위는 기본값을 할당하는 매우 효율적인 방법입니다.false
을 반환합니다.
내가 옛날 지식 이었다면 진심으로 사과드립니다. 나는 누군가가 걸었 으면 좋겠다 나를 통해 언어를 전환했다.
JavaScript는 이와 같은 인수 기본값을 지원하지 않습니다. 다른 많은 사람들이 말했듯이, 함수 내에서 기본값을 선택할 수 있습니다.디폴트 값을 설정하기위한 간결한 관용구는 다음과 같습니다
arg = arg || default;
따라서, 귀하의 경우는 다음과 같습니다 기본 값이 false
경우
remove_wrap = remove_wrap || false;
그러나, 당신도 설정할 필요가 없습니다 그것. 그 인수가 결여 될 때, 그 값은 함수 내부 형 undefined
이 될 것입니다, 그 값은 이미 "falsy"입니다, 때문에 :
function display_message(bool, msg, remove_wrap) {
var error = bool
? get_msg(msg, remove_wrap)
: get_error_msg(msg, remove_wrap);
$.fancybox(error, {
autoDimensions: false,
width: 450,
height: "auto",
transitionIn: "none",
transitionOut: "none"
});
}
보너스 : 그대로 직접 remove_wrap
을 사용할 수 있습니다 참고 또한 error
변수에 var
을 추가했습니다 (실제 변수가 전역 변수를 만들지 않는 한 var을 생략하지 마십시오). 또한 과제를 3 진 표현으로 단축했습니다. 또한 대부분의 사람들이 읽을 수있는 문법으로 fancybox
호출을 다시 포맷했습니다.
- 1. 자바 스크립트 기능 정의
- 2. AJAX + 동적으로 페이지에 자바 스크립트 기능 추가
- 3. 자바 스크립트 편집 기능
- 4. 자바 스크립트 기능
- 5. 자바 스크립트 기능
- 6. 자바 스크립트 호출 기능
- 7. 자바 스크립트 : 기능
- 8. 자바 스크립트 콜백 기능
- 9. 은 자바 스크립트 기능
- 10. 자바 스크립트 비동기 기능
- 11. 자바 스크립트 카레 기능
- 12. 자바 스크립트 클릭 기능
- 13. 사용자 정의 컨트롤에서 페이지에 스크립트 추가 .ASP.NET
- 14. 웹 사용자 정의 컨트롤, 자바 스크립트 및 스크립트 관리자
- 15. 자바 스크립트 이벤트 사용자 정의 속성은
- 16. 로드 사용자 기본값은 4.0
- 17. 자바 스크립트 동적으로 iframe에 자바 스크립트 추가
- 18. 자바 스크립트 객체에 자바 스크립트 객체를 추가
- 19. 사용자 제어 자바 스크립트
- 20. 자바 스크립트, 클릭 기능 on
- 21. 실시간으로 자바 스크립트 기능 표시
- 22. 자바 스크립트 전달하고 그 기능
- 23. 자바 스크립트 기능 범위 문제
- 24. Liferay 자바 스크립트 기능 수정
- 25. xxx1을 숨기는 자바 스크립트 기능?
- 26. 오프너에서 자바 스크립트 기능 호출
- 27. 자바 스크립트 setInterval을 기능 문제
- 28. 자바 스크립트 확인 전체 기능
- 29. 자바 스크립트 - 객체 속성과 기능
- 30. 자바 스크립트 - 비 정적 기능
이것은 첫 번째 게시물 (예제가없는 경우) 이후에 나온 해결책/답입니다. 그렇기 때문에 대답을 모두 받아 들여야합니다. 게임에 대한 답변이 모두 일을하는 모든 이에 게 감사드립니다. –
두 번째 줄을'remove_wrap = remove_wrap === true;'로 줄일 수 있습니다. –