为什么在这里使用此关键字来引用该对象?

时间:2017-10-12 15:02:57

标签: javascript this

我正在阅读JSIS文章http://javascriptissexy.com/javascript-apply-call-and-bind-methods-are-essential-for-javascript-professionals/这里是我想要清楚的例子。

示例方法'clickhandler'使用此关键字来引用用户对象,但这不起作用,解决方法是使用原型绑定方法..但是这样做的好处是什么,而不仅仅是说用户.data直接而不是使用此关键字。

//<button>Get Random Person</button>
//<input type="text">


var user = {
    data :[
        {name:"T. Woods", age:37},
        {name:"P. Mickelson", age:43}
    ],
    clickHandler:function (event) {
        var randomNum = ((Math.random () * 2 | 0) + 1) - 1; // random number between 0 and 1
        // This line is adding a random person from the data array to the text field
        $ ("input").val (this.data[randomNum].name + " " + this.data[randomNum].age);
    }
}

// Assign an eventHandler to the button's click event
$ ("button").click (user.clickHandler);

0 个答案:

没有答案