code: function( pattern, ignoreCase ) {
  					var overlap = [ -1 ];
  					if ( ignoreCase )
  						pattern = pattern.toLowerCase();
  					for ( var i = 0; i < pattern.length; i++ ) {
  						overlap.push( overlap[ i ] + 1 );
  						while ( overlap[ i + 1 ] > 0 && pattern.charAt( i ) != pattern.charAt( overlap[ i + 1 ] - 1 ) )
  							overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1;
  					}
  
  					this._ = {
  						overlap: overlap,
  						state: 0,
  						ignoreCase: !!ignoreCase,
  						pattern: pattern
  					};
  				}
docs: Examination the occurrence of a word which implement KMP algorithm.