2012-07-19 2 views
0

나는이 모든 기능을 이해하고있는 것처럼 보일 수 없다. 코드 검토에 자바 스크립트 코드를 게시하고 다른 사람이 제 코드를 편집하여 그 코드에서 배우려고합니다.stristr 기능이란 무엇입니까?

여기는 내가 이해할 수없는 부분이지만 그 함수는 스크립트에서 아무 곳에서나 호출되지 않았기 때문에 모든 함수를 호출해야한다고 생각했습니다. 이 코드를 단계별로 이해하고 싶습니다. 어쩌면 누군가가 그것을 사용하는 방법과 스크립트에서 스크립트를 호출하는 위치에 대한 예제를 줄 수도 있습니다.

function stristr (haystack, needle) { 
    var pos = 0 
    haystack += '' 

    pos = haystack.toLowerCase().indexOf((needle + '').toLowerCase()) 
    if (pos >= 0) return haystack.substr(0, pos) 
} 
+1

아니요, 일부 기능을 호출 할 필요는 없습니다. 사전의 모든 단어를 사용해야하는 것은 아닙니다. 이 함수는 PHP (http://php.net/manual/en/function.stristr.php) –

답변

1

라인 1 : FCN 선언

라인 2 : 정의 POS 변수 0

라인 3과 : 다소 타입 캐스트 문자열

라인 (5)로서 다음에 설정 위치 동등 바늘이 나타내는 문자의 위치에있는 문자

6 행 : 바늘이 건초 더미에서 나온 경우 바늘보다 먼저 전체 문자열을 반환합니다.

0

here에서 'haystack을 시작으로 바늘의 처음 발생부터 시작하여 모두를 포함하는'함수의 PHP 버전을 볼 수 있습니다. 즉 문자열 (또는 건초 더미) 'thisisthehaystack'과 우리가 (바늘) 'the'을 검색하는 용어가 주어지면 stristr 함수는 문자열 'thehaystack'을 반환합니다. 게시 한 함수는 바늘에 대한 건초 더미를 검색하지만 바늘이 발견 된 지점에서 끝나는 첫 문자에서 시작하는 부분 문자열 또는 'thisis'를 반환한다는 점에서 유사합니다.

+0

에있는 함수의 복제입니다. 바늘은 건초 더미에 공간이있는 경우에만 발견되므로 @ryanbwork이주는 'thisisthehaystack'을 'the'로 검색하면 실패합니다. 'this is the haystack'을 검색하면 'this'라는 문자열이 반환됩니다. –

+0

사실, 바늘 + ''에 공간을 추가하지 않아서 바늘을 문자열로 던질 것입니다. – ryanbwork

+0

공정한 전화 - 시력이 내 것보다 낫습니다. –

관련 문제