2012-09-20 2 views
0

나는 꽤 이해할 수없는 this Stackover answer에서 사용 된 return 문을 가지고 있습니다. 여기에 있습니다 :누군가 나를 위해이 반환 진술을 설명 할 수 있습니까?

return maxWidth > $this.width() || maxHeight > $this.height(); 

무언가를 돌려 보내는 것은 무엇을 의미합니까?

나는 그것이 : 그건 사실이 반환

+0

'|| '연산자 또는 다른 것에 대해 불분명합니까? – DCoder

+0

이것은 논리 연산자입니다. '||'는 "Or"이므로 왼쪽이 true이거나 오른쪽이 true이면 true를 반환합니다. 어느 쪽이든 true가 아닌 경우는 false를 돌려줍니다. – Shmiddty

+0

필자는'||'를 이해합니다. 그러나 그것은 저를 괴롭히는 하나의 반환 진술의 전체 조합 일뿐입니다. – shrewdbeans

답변

7

그것은 동등한입니다 : 하나 maxWidthwidth()$this또는maxHeightheight()$this의보다 큰의보다 큰 경우, 즉

if (maxWidth > $this.width() || maxHeight > $this.height()) { 
    return true; 
} else { 
    return false; 
} 

, 그것은 true를 반환합니다; 그렇지 않으면 false을 반환합니다.

+0

값을 반환하는이 방법은 특별한 이름을 갖고 있습니까? – shrewdbeans

+2

@Owen : 사실은 별다른 것이 아니라, '부울'값을 반환하는 함수에 대한 일반적인 관용구입니다.예를 들어 정수를 취하고 정수가 5보다 크면 'true'를 반환하고 그렇지 않으면'false'를 반환하는 함수가있는 경우'return i> 5 '라고 쓸 수 있습니다.이 값은'if (i> 5) {true true} else {false false}'. –

0

무엇인지 나는 즉시 답변 후이 질문의 제목을 편집 할 수 있습니다 만든 jQuery를 래퍼 개체가 $this의 차원 중 하나가 $(this)은 일부 변수보다 작습니다.

넘겨주기를 감지 할 수있는 코드에서 maxWidthminWidth은 가장 큰 자식의 크기입니다. 하나의 자식이 이보다 더 크면이 값이 오버플로됩니다.

width 기능을 살펴보십시오.

0

bool 값이므로 너비 또는 높이의 최대 값이 실제 너비보다 큰 경우 사실이됩니다.

1

이 특정 예에서 코드는 가장 큰 하위 차원이 부모 차원을 초과하는지 확인합니다. 차원은 너비와 높이입니다.

3

boolean을 반환합니다.

return maxWidth > $this.width() || maxHeight > $this.height(); 

가정,

maxWidth = 300 
$this.width() = 200 
maxHeight = 400 
$this.height() = 500 

은 그래서

(300>200 || 400>500) ==> (T || F) ==> TRUE 
1

그것은 short-circuit evaluation로 알려져을 반환하고,이 경우 부울 값을 반환합니다.

maxWidth > $this.width() 

사실이라면, 그것은 두 번째 테스트를 평가하지 않고, true를 돌아갑니다. 그렇지 않으면 평가 결과를 반환합니다.

maxHeight > $this.height(). 
관련 문제