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

js 匿名函数的形参改变影响的对象的属性?

js 匿名函数的形参改变影响的对象的属性?

慕莱坞森 2018-09-15 10:18:58
标题不知该如何表达(⊙﹏⊙)数组莫名变这么多位handleStrip1: function(strip,num) {                var i = 0, self = this , len = strip.length;                strip.push(self.duration)  //在这添加的                if(!(len>0))return;                for (i; i < len; i++) {                    console.log("当前的sum = "+strip[i]);                    if(strip[i]>num){                        return +i;                    }                }            }handleStrip1函数(被setInterval方法每50毫秒调用),第一个参数strip传的的是这个对象的属性,匿名函数中的变量不是函数运行结束后就销毁了吗,为什么会影响到这个对象的属性呢?function AA() {   this.strip = data;}AA.prototype = {   init : function() {       var self = this;       self.timer = setInterval(self.run.bind(self), 50);   },   run : function() {       var self = this;       self.curStrip = self.handleStrip1(self.strip,(self.Audio.currentTime).toFixed(2));  }};
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

因为 strip 是按引用传递的,所以你一直在对同一个 strip 进行 push 操作。


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

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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