博主信息
博文 10
粉丝 1
评论 0
访问量 10618
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
forEach/splice
枫的博客
原创
1476人浏览过

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: ƒ}


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学