美文网首页我爱编程
TypeScript——函数-lambads和this关键字

TypeScript——函数-lambads和this关键字

作者: _____西班木有蛀牙 | 来源:发表于2018-05-23 00:17 被阅读28次
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 () {} 函数更改为 () => {}

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

相关文章

网友评论

    本文标题:TypeScript——函数-lambads和this关键字

    本文链接:https://www.haomeiwen.com/subject/xqdljftx.html