javascript substring

akula1001 picture akula1001 · Jan 1, 2010 · Viewed 38.7k times · Source

the most darndest thing! the following code prints out 'llo' instead of the expected 'wo'. i get such surprising results for a few other numbers. what am i missing here?

alert('helloworld'.substring(5, 2));

Answer

Christoph picture Christoph · Jan 1, 2010

You're confusing substring() and substr(): substring() expects two indices and not offset and length. In your case, the indices are 5 and 2, ie characters 2..4 will be returned as the higher index is excluded.