var obj = { fn: function(val){ var self = this console.log(this.data) console.log("bind なし") val.forEach(function(e){ console.log(this === window) console.log("this.data", this.data) console.log("self.data", self.data) }) console.log("bind あり") val.forEach(function(e){ console.log(this === window) console.log("this.data", this.data) console.log("self.data", self.data) }.bind(this)) }, data : 100 }