in运算符:
<script>
/*1.能够遍历对象的属性*/
var obj = {
‘name‘:‘jack‘,
age:20
};
for(var key in obj){
console.log(key + ":" + obj[key]);
}
/*2.还可以判断 对象 是否可以访问某个属性,而不关注这个属性是否在当前对象中定义*/
console.log(‘name‘ in obj); //true
console.log(‘toString‘ in obj); // true
console.log(‘toString1‘ in obj); // false
</script>
forEach的使用:
<script>
/*forEach用来遍历数组*/
//var arr= [123,2,4,35,435,65,7,658,67,98];
/*
value:当前遍历到元素值
index:当前元素的索引
arr:当前遍历的数组
* */
/*arr.forEach(function(value,index,arr){
console.log(value + ":" + index + ":" + arr);
})*/
/*自定义forEach函数*/
Array.prototype.myForEach = function(callback){
for(var i =0;i<arr.length;i++){
callback(this[i],i,this);
}
}
var arr1= [123,2,4,35,435,65,7,658,67,98];
arr1.myForEach(function(value,index){
console.log(value + ":" + index + ":" + arr1);
});
</script>
map的使用:
<script>
var arr= [123,2,4,35,435,65,7,658,67,98];
/*将数组值翻倍,再存储到数组*/
/*1.使用for*/
//var newArr=[];
/*for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
newArr.push(obj*2);
}
console.log(newArr);*/
/*2.使用forEach*/
/*arr.forEach(function(value,index,arr){
newArr.push(value*2);
});
console.log(newArr);*/
/*3.使用map函数*/
/*arr.map(function(value,index,arr){
newArr.push(value*2);
});
console.log(newArr);*/
/*map会将结果存储到一个新生成的数组中再返回*/
/* var newArr = arr.map(function(value,index,arr){
return value * 2;
});
console.log(newArr);*/
/*map的实现原理*/
Array.prototype.myMap = function(callback){
var temp = [];
for(var i=0;i<this.length;i++){
var v = callback(this[i],i,this);
if(v){
temp.push(v);
}
}
return temp;
};
var newArr = arr.myMap(function(value,index,arr){
return value * 2;
});
console.log(newArr);
</script>
js中in运算符,forEach与map的用法-基础知识总结------彭记(016)
原文:http://www.cnblogs.com/pgm0908/p/7350216.html