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