
1 2 3 4 5 6 7 8 9 10 11 12 13
|
var people = { name: ['a', 'b', 'c', 'd', 'e'], getName: function () { return function () { var i = Math.floor(Math.random() * 4); return { n: this.name[i] // 这里的this指向的是getName,而不是people, } } } } var myname = people.getName(); alert('名字是:' + myname().n); // 名字是:undefined
|
通过把 function () {} 函数更改为 () => {}
1 2 3 4 5 6 7 8 9 10 11 12 13
|
var people = { name: ['a', 'b', 'c', 'd', 'e'], getName: function () { return () => { var i = Math.floor(Math.random() * 4); return { n: this.name[i] // 通过lambads 改变了this的指向 } } } } var myname = people.getName(); alert('名字是:' + myname().n); // 名字是:b
|
近期评论