여러 번 저에게 일어난 일로 인해 결과를 알았을 때 어떻게 기능을 멈춰야하는지 잘 모르겠습니다.모범 사례 - JS 기능으로 돌아 왔을 때
{
"name": "CategoryName",
"subCategoriess": [{
"name": "Sub1",
"value": true
}, {
"name": "Sub2",
"value": false
}]
}
우리가 value === true
CLASIC 옵션 (현실을 부르 자 찾아 낼 때까지 우리는 그것을 반복 할 : 옵션 1를 그냥 예를 들어
우리의 모습 개체 범주가 상상할 수 있습니다) 대부분의 설명서에서 찾을 수 있습니다 :
function myFunction(category){
var ret = false;
for (var i=0; i <category.subCategoriess.length; i++)
{
ret = category.subCategories[i].value;
if (ret)
break;
}
return ret;
}
다음과 같은 것을 보았습니다. 이 (현실을 부르 자 : 옵션 2) :
function myFunction(category){
for (var i=0; i <category.subCategoriess.length; i++)
{
if (category.subCategories[i].value) return true;
}
return false;
}
는 그래서이 두 가지 옵션을 비교하자, 나는 내가 틀렸을 수도 주니어로 내 자신을 고려 정말 쉽게 그렇게 말해 주시기 바랍니다
그- 옵션 1 -이 옵션의 장점은 코드가 더 복잡하더라도 실제로 어떤 return이 함수를 "반환"하는지 항상 알고 있기 때문에 많은 사람들이 디버그하기가 더 쉽다는 것을 기대합니다.
- 옵션 2 -이 옵션의 장점은이 추가적으로 variabile (
ret
)가 필요 나던 becuase 덜 성능을 사용해야합니다 + 우리가 basicly 우리가for
루프 실제return
한 Statment
이 특정 예제에서 각 옵션 간의 차이는 실제로는 0에 가깝습니다. 그러나 코드가 복잡해질 수 있으므로 어떤 옵션이 모범 사례입니까 (또는 뭔가를 놓치면 옵션을 추가하십시오) 왜 이런 식으로 사용해야합니까?
둘 이상의 'return' 문을 사용하는 데는 아무런 문제가 없습니다. – gcampbell
주어진 상황에서 더 읽고 이해할 수있는 것이 무엇이든간에. 따라야 할 엄격한 규칙이나 템플릿은 하나도 없습니다. 주어진 문제를 해결하는 데 가장 적합한 방식으로 작성합니다. – deceze
이것이 스타일에 관한 질문이라고 생각합니다. 많은 것은 누가 코드를 읽고 있는지에 달려 있습니다. 다른 사람들은 옵션 2를 더 쉽게 찾을 수 있지만 어떤 사람들은 이해하기 쉬운 옵션 2를 찾습니다. 자신의 개인 프로젝트에서 작업 할 때 가장 적합한 스타일을 선택할 수 있습니다. 다른 대중적인 프로젝트에서 흔히 볼 수있는 공통점을 선택하기도합니다. 다른 시간은 당신을 위해 가장 떨어지는 것을 골라냅니다. 핵심은 프로젝트 내에서 일관성을 유지하는 것입니다. 내 개인 스타일은 수년에 걸쳐 여러 번 변경되었습니다. – Sukima