美文网首页我爱编程
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