function startsWith( str, search, position ) {
	var pos;
	var i;
	if ( position < 0 ) {
		pos = str.length + position;
	} else {
		pos = position;
	}
	if ( search.length === 0 ) {
		return true;
	}
	if (
		pos < 0 ||
		pos + search.length > str.length
	) {
		return false;
	}
	for ( i = 0; i < search.length; i++ ) {
		if ( str.charCodeAt( pos + i ) !== search.charCodeAt( i ) ) {
			return false;
		}
	}
	return true;
}
Tests if a string starts with the characters of another string.

@private
@param {string} str - input string
@param {string} search - search string
@param {integer} position - position at which to start searching
@returns {boolean} boolean indicating if the input string starts with the search string

@example
var bool = startsWith( 'Remember the story I used to tell you when you were a boy?', 'Remember', 0 );
// returns true

@example
var bool = startsWith( 'Remember the story I used to tell you when you were a boy?', 'Remember, remember', 0 );
// returns false

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'To be', 0 );
// returns true

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'to be', 0 );
// returns false

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'to be', 14 );
// returns true

@example
var bool = startsWith( 'To be, or not to be, that is the question.', 'quest', -9 );
// returns true