为了账号安全,请及时绑定邮箱和手机立即绑定

for 循环与这个自定义方法 forEach 的效果为什么不一样

for 循环与这个自定义方法 forEach 的效果为什么不一样

陪伴而非守候 2018-10-16 17:19:35
网上的一个 3D 标签云的插件,其中用到了数组循环方法 forEach ,不过我把循环改成 for 循环之后,效果就会出错。这是原本的 forEach 的代码:Array.prototype.forEach = function(callback){    for(var i=0;i<this.length;i++){        callback.call(this[i]);    }}function rotateY(){    var cos = Math.cos(angleY);    var sin = Math.sin(angleY);    tags.forEach(function(){        var x1 = this.x * cos - this.z * sin;        var z1 = this.z * cos + this.x * sin;        this.x = x1;        this.z = z1;    })}我改成了 for 循环后就完全不对。function rotateY(){    var cos = Math.cos(angleY);    var sin = Math.sin(angleY);    for( var i=0 ,length=tags.length;i<length;i++){        var x1 = tags[i].x * cos - tags[i].z * sin;        var z1 = tags[i].z * cos + tags[i].x * sin;        tags[i].x = x1;        tags[i].z = z1;    }}这是这个 demo 的完整代码 http://codepen.io/zengkan0703...这是我修改成 for 循环的效果 http://codepen.io/zengkan0703...
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

你这错误,跟你的描述并不一样。太粗心了。

https://img1.sycdn.imooc.com//5bf7a1ce00016f3b09290230.jpg

查看完整回答
反对 回复 2018-11-23
  • 1 回答
  • 0 关注
  • 477 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号