1.统计字符串中每一个字符出现的次数
首先创建一个空的object;其次使用for循环查找没一个字符;之后通过if语句进行判断,如果字符出现过,存储在object对象中,并且进行+1操作;如果没有出现过,也存储在object对象中,并且将值=1。代码如下:
var str = 'http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e';
var obj = {};
for (var i = 0; i < str.length; i++) {
if (obj[str[i]]) {
obj[str[i]]++;
}
else{
obj[str[i]]=1;
}
}
2.字符串的方法
获取方法:
charAt():获取对应下标的字符。
CharCodeAt():获取对应下标字符的ASCII编码值。0:48、A:65、a:97.
查找方法:
indexOf(val,index):查找某个字符串首次出现的位置,查找到返回下标,未查找到返回-1。
val:对应字符或字符串
index:对应字符或字符串的下标值
lastIndexOf(val,index):查找某个字符串最后一餐出现的位置,查找到返回下标,未查找到返回-1。
截取方法:
subString(start,end)
slice(start,end)
start:开始截取的下标值
end:截取结束的下标值,截取时包括开头,不包括结尾。
两个都是截取两个下标值之间的字符串,包括开头不包括结尾。如果只有一个值,默认从值所在下标位开始截取直到末尾。
但subString可以根据所填下标调换位置,且默认负值为0;但slice不能调换位置,且默认负值为倒数第几个数。
subStr(start,length):从哪里开始,截取多长
start:开始截取的下标值
length:截取长度
3.数组的迭代方法有哪些,什么作用
every():针对数组做判断,全部为真才为真true,一个为假就为假false。相当于逻辑与&。
some():针对数组做判断,全部为假才为假false,一个为真就为假false。相当于逻辑或||。
filter():过滤 把满足条件的过滤出来组成新的数组。
forEach():等同于for循环,没有返回值。
map():将返回值组成一个新的数组。
4.对于this的理解,及this指向问题
对this的理解:this表示当前行为执行的主体。
This的指向问题:
- 全局作用域下 (函数体以外)直接输出this,this是window。
- 一个函数调用就看前边有没有点,点前面是谁就是谁,没有点就是window。
- 事件处理函数this表示当前触发那个元素。