5月7号作业
//1、使用forEach遍历数组 /*当一个函数当另外一个函数参数的时候,这个函数叫做回调参数 forEach(function(当前元素,当前元素的索引,当前整个数组){}) 既:forEach(function(value,key,array)) map和forEach很像,区别在与map是有返回值,forEach没有*/ <script> var arr=['html','css','javascript']; arr.forEach(function(value){console.log(value)}); //html,css,javascript arr.forEach(function(value,key){console.log(key+':'+value)}); //0:html,1:css,2:javascript arr.forEach(function(value,key,array){console.log(array)}); //数组被遍历3遍 arr.forEach(function(value,key,array){console.log(array[key])}); //html,css,javascript arr.forEach(function(value,key,array){console.log(key+':'+array[key])});//0:html,1:css,2:javascript //判断是不是数组 Array.isAarry(arr) //ture arr instanceof object //ture //数组也是对象 typeof arr //object 扩展-类数组对象 var arr1={0:'html', 1:'css' , 2:'javascript'}; Array.isAarry(arr1) //false arr1 instanceof object //ture arr1 instanceof Array //false ---------------------------------------------------------------------------------------------------- //2、splice()的添加,删除,更新 var arr2=[1,2,3,4,5,6,7,8]; arr2.splice(3) // 返回[4,5,6,7,8] arr2.splice(2,2) //返回[3,4],从第2个位置开始,删除2个,并返回删除的数组,注意:原数组已更改 arr2.splice(2,0,55,66) //返回空数组,从从第2个位置开始,插入55,66.既arr2=[1,2,55,66,5,6,7,8] arr2.splice(2,2,3,4)//更新数组,返回[55,66],此时arr2=[1,2,3,4,5,6,7,8] arr2.splice(-6,2) //[3,4] arr2.splice(-2,0,55,66) //[] 此时arr2=[1,2,5,6,55,66,7,8] arr2.splice(-2,2,77,88) //[7,8] 此时arr2=[1,2,5,6,55,66,77,88] --------------------------------------------------------------------------------------------------- 课后扩展 扩展slice() //切片, 一、从数组中提取部分成员 var arr3=[1,2,3,4,5,6,7]; arr3.slice() //[1,2,3,4,5,6,7] arr3.slice(2) //[3, 4, 5, 6, 7]从第2个开始切除 arr3.slice(2,6) //[3, 4, 5, 6]从第2个开始,第六个结束,但是第六个值不要 二、同时可把类数组对象转换成数组 var obj={0:'xiaomi';1:'huawei';2:'oppo';3:'iphone',length:3}; var arr4=Array.prototype.slice.call(obj) //arr4=["xiaomi", "huawei", "oppo"] //将obj装换成数组 arr4.forEach(function(value){console.log(value)}) //xiaomi huawei oppo //遍历数组 扩展原型和原型链 //对象字面量 var obj={a:1, b:2, c:function(){return this.a+this.b}} //构造函数创建对象 function Foo(name,age){this.name=name;this.age=age}; //构造函数,做对象母版 var obj=new Foo('ping',100); //通过构造函数,得到obj1对象 var obj1=new Foo('cat',100); //通过构造函数,得到obj1对象 Foo.prototype.user=function(){return this.name+this.age} //设置Foo的原型 obj.user() //ping100 //obj__proto__去Foo.prototype上找user叫做原型链 obj.user1=function(){return this.name+':'this.age} //添加obj属性方法 obj.user1() //ping:100 //obj=Foo {name: "ping", age: 100, user1: ƒ}