赞
踩
一、map方法
[javascript] view plain copy
function fuzzyPlural(single) {
var result = single.replace(/o/g, 'e');
//replace也不会修改原来数组的值,这里打印[foot,goose,moose,kangaroo]
//alert(single);
//下面为新的数组添加了一个元素,但是我们看到在map的时候没有对添加的元素进行处理,所以map调用的结果还是没有变化:["feet", "geese", "meese", "kangareese"]
//但是可以知道words结果已经变化了!
//words[4]="metoo";
//虽然下面通过修改length为3将数组截断了,从而相当于删除了第四个元素,但是map方法并不会检测到这种变化,所以在map方法调用的结果数组长度还是为4,只是最后一个元素变成了空了!但是这种删除会影响外层的words,使得他的长度变成了3!
//但是在具体的fuzzyPlural只会调用三次!(通过alert(single)就可以知道,因为这里已经把数组截断了,但是返回的数组长度还是4,一个为空!)
words.length=3;
if( single === 'kangaroo'){
result += 'se';
}
return result;
}
var words = ["foot
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。