在JavaScript中,`indexOf()`函数是一个非常实用的工具,它用于查找一个字符串中子字符串第一次出现的位置。这个函数接受三个参数:一个String对象(strObj)作为主要的字符串,子字符串(subString)作为查找的目标,以及可选的起始索引(startIndex)来指定查找的起点。如果省略了起始索引,函数会从字符串的开头开始查找。如果找到子字符串,它会返回子字符串在主字符串中的起始位置,如果找不到,返回-1。举个例子,函数`IndexDemo(str2)`会返回字符串"str1"中子字符串"str2"首次出现的索引。而`lastIndexOf()`函数则相反,它返回子字符串最后一次出现的位置。`substring()`方法用于截取字符串的一部分。`str.substring(beginIndex)`会获取从指定开始位置(包括该位置)到字符串结束的所有字符,而`str.substring(beginIndex, endIndex)`则会截取从开始位置到结束位置(不包括结束位置)的子串。在遍历HTML元素时,`elem.className.indexOf(classname)`可以用来检查一个元素的class属性是否包含指定的类名,如果包含则返回类名的位置,否则返回-1。这个函数常用于实现元素的筛选和操作。总的来说,`indexOf()`函数是一个在处理字符串查找和匹配时非常有用的工具,而`substring()`方法则提供了截取字符串子串的功能。在JavaScript编程中,它们都是不可或缺的字符串操作手段。