por ejemplo, no puedo llegar a 'this.ret', así que use 'obj.ret' en bucle.
¿Es este el camino correcto?
const obj = { ret : 0, sum : function(arr){ $.each(arr, function(i, v){ obj.ret += v //Can't reach this.ret }) this.print(); }, print : function(){ alert('sum is ' + this.ret) } } let arr = [1,2,3,4,5] obj.sum()Puedes usar la función de flecha
const obj = { ret : 0, sum : function(arr){ $.each(arr, (i, v) => { this.ret += v }) this.print(); }, print : function(){ console.log('sum is ' + this.ret) } } let arr = [1,2,3,4,5] obj.sum(arr) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> const obj = { ret : 0, sum : function(arr){ $.each(arr, function(i, v){ obj.ret += v //Can't reach this.ret }) this.print(); }, print : function(){ console.log('sum is ' + this.ret) } } let arr = [1,2,3,4,5] obj.sum(arr) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> cambiar obj.sum() a obj.sum(arr)