二誊役、eval可以將字符串當(dāng)代碼使用
慎用A取6旱! 如果字符串運(yùn)行時(shí)出錯(cuò)嚎于,會(huì)導(dǎo)致后面的代碼都不執(zhí)行
console.log(eval("1+2+3+4")); //打印結(jié)果 10,并且為數(shù)值型
三掘而、map :數(shù)組調(diào)用map
map 三個(gè)參數(shù):
var arr = [1,2,3,4].map(function(a,b,c){ ... })
arr有幾個(gè)值,就執(zhí)行幾次
a:每次傳入的值
b:傳入值的下標(biāo)
c: arr數(shù)組
var arr =[1,2,3,4].map(function(a,b,c){
console.log(a,b,c);
return a*2;
})
執(zhí)行結(jié)果.png
四于购、關(guān)于map的面試題
console.log([1,2,3,4,5,6,7,8,9,10,11,12,13].map(parseInt));
相當(dāng)于
([1,2,3,4,5,6,7,8,9,10,11,12,13].map(a,b,c)function(){
return parseInt(a,b,c);
}
//parseInt只有兩個(gè)參數(shù)袍睡,所以只用到了 a,b
相當(dāng)于
parseInt(1,0); //1 也就是10進(jìn)制
parseInt(2,1); //undefined
parseInt(3,2);
parseInt(4,3);
parseInt(5,4);
parseInt(6,5);
parseInt(7,6);
parseInt(8,7);
parseInt(9,8);
parseInt(10,9); //9 (0*1 + 1*9)
parseInt(11,10); //11
parseInt(12,11); //13 (2*1 + 1*11)
parseInt(13,12); //15
然后打印結(jié)果